Ⅰ 關於VB的文件超鏈接
啟動不同的文件要用不同的軟體。比如打開文本文件要用記事本:
Private Sub Command1_Click()
Shell "notepad c:\1.txt", vbNormalFocus
End Sub
下面是用Word打開Doc文件
Private Sub Command2_Click()
Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD c:\2.doc"
End Sub
Ⅱ vb 鏈接到本地文件
窗體一個text1,一個command1.代碼如下
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Function StartDoc(DocName As String) As Long
Dim Scr_hDC As Long
Scr_hDC = GetDesktopWindow()
StartDoc = ShellExecute(Scr_hDC, "Open", DocName, "", "C:\", 1)
End Function
Private Sub Command1_Click()
Dim r As Long
r = StartDoc(app.path & "\" & Text1.Text)
End Sub
運行程序,把你要打開的文件名填入text1,點按鈕
Ⅲ VB中如何設置超鏈接
Shell 函數
執行一個可執行文件,返回一個 Variant (Double),如果成功的話,代表這個程序的任務 ID,若不成功,則會返回 0。
語法
Shell(pathname[,windowstyle])
Shell 函數的語法含有下面這些命名參數:
部分 描述
pathname 必要參數。Variant (String),要執行的程序名,以及任何必需的參數或命令行變數,可能還包括目錄或文件夾,以及驅動器。在Macintosh中,可以使用MacID函數來指定一個應用程序的署名而不是名稱。下面的例子使用了Microsoft Word的署名:
Shell MacID("MSWD")
Windowstyle 可選參數。Variant (Integer),表示在程序運行時窗口的樣式。如果 windowstyle 省略,則程序是以具有焦點的最小化窗口來執行的。在Macintosh(系統7.0或更高)中,windowstyle僅決定當應用程序運行時是否獲得焦點。
windowstyle 命名參數有以下這些值:
常量 值 描述
vbHide 0 窗口被隱藏,且焦點會移到隱式窗口。常數vbHide在Macintosh平台不可用。
VbNormalFocus 1 窗口具有焦點,且會還原到它原來的大小和位置。
VbMinimizedFocus 2 窗口會以一個具有焦點的圖標來顯示。
VbMaximizedFocus 3 窗口是一個具有焦點的最大化窗口。
VbNormalNoFocus 4 窗口會被還原到最近使用的大小和位置,而當前活動的窗口仍然保持活動。
VbMinimizedNoFocus 6 窗口會以一個圖標來顯示。而當前活動的的窗口仍然保持活動。
說明
如果 Shell 函數成功地執行了所要執行的文件,則它會返回程序的任務 ID。任務 ID 是一個唯一的數值,用來指明正在運行的程序。如果 Shell 函數不能打開命名的程序,則會產生錯誤。
在Macintosh中,vbNormalFocus、vbMinimizedFocus和vbMaximizedFocus都將應用程序置於前台;vbHide、vbNoFocus、vbMinimizeFocus都將應用程序置於後台。
注意 預設情況下,Shell 函數是以非同步方式來執行其它程序的。也就是說,用 Shell 啟動的程序可能還沒有完成執行過程,就已經執行到 Shell 函數之後的語句。
Ⅳ vb程序如何引入資源文件
首先做一個資源文件並添加到工程中
可以用資源編輯器外接程序來製作資源文件:
資源編輯器外接程序(如圖)
資源編輯器外接程序增加了在VisualBasic集成開發環境中使用資源文件(.res)的能力。資源文件是由資源編輯器自動編譯的,因此就不再需要一個單獨的資源編輯器或是.rc文件了。
可以使用資源編輯器來:
向工程添加一個資源文件(.res)。
向一個資源文件添加新的字元串表、游標、點陣圖、圖標或自定義資源。
在一個資源文件中編輯資源的屬性。
從一個資源文件中刪除資源。
詳細信息要想了解有關資源文件以及在一個工程中如何使用它們的詳細信息,請參閱《VisualBasic程序員指南》中的「使用資源文件」。
載入或卸載資源編輯器
資源編輯器外接程序是從「外接程序」菜單的「外接程序管理器...」對話框中載入的。可以通過選中「可用外接程序」列表中的「資源編輯器」,選中「載入/卸載」復選框來載入資源編輯器;您可以通過清除復選框來卸載它。當選中資源編輯器外接程序時,每次重新啟動VisualBasic它都自動地載入,直到清除了該復選框。
當載入了資源編輯器時,一個「資源編輯器」按鈕被添加到「標准型」工具欄上。同時也添加了兩個新的菜單命令:「工程」菜單上的「添加新資源文件」和「工具」菜單上的「資源編輯器」。
「資源編輯器」窗口(資源編輯器外接程序)
可以使用「資源編輯器」窗口添加、刪除和編輯與您的工程相關聯的資源文件(.res)中的資源。一次只能編輯一個資源文件;一個工程只能包含一個資源文件。
「資源編輯器」窗口是可連接的。
可用如下方法打開「資源編輯器」窗口:
在「工程」窗口中,雙擊資源文件,或選定資源文件並按下ENTER鍵。
在「工具」菜單中,選定「資源編輯器」命令。
使用VisualBasic的「標准型」工具欄上的「資源編輯器」工具欄按鈕。
注意為使「資源編輯器」可見,必須在「外接程序管理器...」對話框中選定「資源編輯器」外接程序。
Window要素
「列表窗口」
顯示包含在選定資源文件中的資源類型和單個資源的分層結構列表。
「工具欄」
包含表示資源編輯器各種操作的快捷方式按鈕。
「狀態欄」
顯示圖標和消息,指示文件已經被改變但沒有保存。
利用資源文件進行工作
資源文件允許將應用程序特定版本的全部文本和點陣圖收集到一起。這可以包括常數聲明、圖標、屏幕文本,以及可能在本地化版本之間或在修訂版本或特定的配置之間發生變化的其它材料。
向工程中添加資源
可以使用資源編譯器外接程序創建資源文件。編譯過的資源文件帶有.res擴展名。每個工程只能包含一個資源文件。
資源文件實際上是由一系列獨立的字元串、點陣圖或者其它項目組成的,其中每一項都有一個唯一的標識符。標識符可能是Long類型或String類型,取決於資源所代表的數據類型。例如,字元串的標識符為Long型,而點陣圖的標識符則為Long型或String型。如想在代碼中檢索資源,應知道每個資源的標識符。引用資源的函數參數可以使用Variant數據類型。
要將新資源文件添加到您的工程中,請按照以下步驟執行:
從「工具」菜單中選擇「資源編輯器」,將在資源編輯器窗口打開一個空的資源文件。
注意必須安裝資源編輯器外接程序。有關安裝外接程序的信息,請參閱「管理工程」中的「使用向導和外接程序」。
在資源編輯器工具欄中選擇「保存」按鈕以保存資源文件。文件將被添加到「相關文檔」部分下的「工程資源管理器」中。
要將已存在的資源文件添加到您的工程中,請
從「工程」菜單中選擇「添加新資源」。您的工程中任何已存在的資源文件將被替換。
警告假如您對已存在的資源文件做任何修改,將可能影響使用此資源文件的其它工程。確保您將文件保存在一個新文件名下。
注意必須安裝資源編輯器外接程序。有關安裝外接程序的信息,請參閱「管理工程」中的「使用向導和外接程序」。
詳細信息關於資源文件的詳細信息,請參閱「國際化」中的「使用本地化資源文件」。
注意Windows資源文件隨16位或32位應用程序而不同,如果試圖將一個16位資源文件添加到一個工程中,VisualBasic將產生一條錯誤信息。
為了將資源文件添加到工程中,可從「工程」菜單中選擇「添加文件」命令,這與將別的文件添加至工程中完全一樣。一個工程只能接受一個資源文件,如果試圖添加第二個擴展名為.res的文件,將產生錯誤。
在代碼中使用資源
VisualBasic提供了三個函數從資源文件中檢索數據以供在代碼中使用。
函數描述
LoadResString返回一個文本字元串。
LoadResPicture返回一個Picture對象,例如點陣圖、圖標或游標。
LoadResData返回一個Byte數組,用於象.wav之類的文件。
詳細信息請參閱相應函數主題。
可用下列函數讀取資源:
LoadResString函數
用以從資源(.res)文件裝載字元串。
語法
LoadResString(index)
LoadResString函數的語法包含下列部分:
部分描述
index必需的。一個整數,它用來指定資源文件中數據的標識符(ID)。ID標識符為1的資源保留給應用程序圖標。
說明
可以使用LoadResString函數代替代碼中的字元串文字量。
將數據的長字元串存儲在資源文件中並從該資源文件訪問它們能改進裝載時間,這是因為您可以根據需要從資源文件單獨裝載,而不是在裝載窗體時一並全部裝載。
LoadResString的使用對於VisualBasic應用程序的本地化有好處,這是因為需要翻譯的資源一個資源文件中被隔離,並且無須訪問源代碼或重新編譯該應用程序。
LoadResPicture函數
用以從資源(.res)文件裝載點陣圖、圖標或游標。
語法
LoadResPicture(index,format)
LoadResPicture函數的語法包含下列部分:
部分描述
index必需的。一個整數或字元串,它用來指定資源文件中數據的標識符(ID)。ID標識符為1的資源保留給應用程序的圖標。
format必需的。一個數值或常數,如下列「設置值」中所描述的,指定返回數據的格式。
設置值
用於format的設置值有:
常數值描述
vbResBitmap點陣圖0點陣圖資源
vbResIcon圖標1圖標資源
vbResCursor2游標資源
說明
可以使用LoadResPicture函數代替對存儲在Form或控制項的Picture屬性中的圖形的引用。
將點陣圖、圖標或游標存儲在資源文件中並從該資源文件對它們進行訪問能改進裝載時間,這是因為可以根據需要從資源文件單獨裝載,而不是在裝載Form時一並全部裝載。
LoadResPicture的使用對於VisualBasic應用程序的本地化有好處,這是因為需要翻譯的資源在一個資源文件中被隔離,並且無須訪問源代碼或重新編譯該應用程序。
LoadResData函數
用以從資源(.res)文件裝載若干可能類型的數據,並返回一個Byte數組。
語法
LoadResData(index,format)
LoadResData函數的語法包含下列部分:
部分描述
index必需的。一個整數或字元串,它用來指定資源文件中數據的標識符(ID)。ID標識符為1的資源保留給應用程序的圖標。
Format必需的。一個數值,它用來按照下列「設置值」中的描述,指定返回數據的原始格式。該數值也可以是用戶定義資源的字元串名。
設置值
用於format的設置值有:
設置描述
1游標資源
2點陣圖資源
3圖標資源
4菜單資源
5對話框
6字元串資源
7字體目錄資源
8字體資源
9加速鍵表
10用戶定義資源
12群組游標
14群組圖標
說明
LoadResData從資源文件裝載的數據可以達到64K。
對點陣圖、圖標、游標資源類型使用LoadResData將返回包含該資源中的實際二進制位的字元串。如果想使用實際的點陣圖、圖標或資源,請使用LoadResPictureoˉêy.
LoadResData的使用對於VisualBasic應用程序本地化有好處,這是因為需要翻譯的資源在一個資源文件中被隔離,並且無須訪問源代碼或重新編譯該應用程序。
Ⅳ vb.net如何通過超鏈接的方式打開其他文件
超鏈接在本質上是文字式按鈕,事件類型仍舊屬於滑鼠單擊事件。
在滑鼠單擊事件中,使用shell命令。
例如:
dim file as string=「C:\1.doc」
a=Shell("C:\Program Files\Microsoft Office\OFFICE11\WORD.EXE " & file, vbNormalFocus)
注意要有空格。
Ⅵ vb如何文件關聯
'把以下代碼放到模塊中,然後再需要的地方調用,比如(CreateAssociation ".txt", "txtfile", App.Path & "\" & App.EXEName & ".exe", App.Path & "\" & App.EXEName & ".exe")就是注冊本程序為txt文件的打開方式,並把文件圖標改為本程序的圖標,注冊文件關聯後會立即刷新圖標, Option Explicit
Public Const REG_SZ As Long = 1
Public Const REG_DWORD As Long = 4
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const ERROR_NONE = 0
Public Const ERROR_BADDB = 1
Public Const ERROR_BADKEY = 2
Public Const ERROR_CANTOPEN = 3
Public Const ERROR_CANTREAD = 4
Public Const ERROR_CANTWRITE = 5
Public Const ERROR_OUTOFMEMORY = 6
Public Const ERROR_INVALID_PARAMETER = 7
Public Const ERROR_ACCESS_DENIED = 8
Public Const ERROR_INVALID_PARAMETERS = 87
Public Const ERROR_NO_MORE_ITEMS = 259
Public Const KEY_ALL_ACCESS = &H3F
Public Const REG_OPTION_NON_VOLATILE = 0
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByVal lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long
Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long
Public Declare Function RegSetValueExLong Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long
Private Declare Sub SHChangeNotify Lib "shell32" (ByVal wEventId As Long, ByVal uFlags As Long, ByVal dwItem1 As Long, ByVal dwItem2 As Long)
Private Const SHCNE_ASSOCCHANGED = &H8000000
Private Const SHCNF_IDLIST = &H0
Public Sub CreateAssociation(strAsso As String, strDescription As String, strExeName As String, strIcon As String)Dim sPath As String CreateNewKey strAsso, HKEY_CLASSES_ROOT
SetKeyValue HKEY_CLASSES_ROOT, strAsso, "", strDescription, REG_SZ
'建立打開鍵
CreateNewKey strDescription & "\shell\open\command", HKEY_CLASSES_ROOT
SetKeyValue HKEY_CLASSES_ROOT, strDescription, "", strDescription, REG_SZ
sPath = strExeName & " %1"
SetKeyValue HKEY_CLASSES_ROOT, strDescription & "\shell\open\command", "", sPath, REG_SZ
''
CreateNewKey "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & strAsso, HKEY_CURRENT_USER
SetKeyValue HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & strAsso, "Progid", strDescription, REG_SZ
'建立圖標
CreateNewKey strDescription & "\DefaultIcon", HKEY_CLASSES_ROOT
SetKeyValue HKEY_CLASSES_ROOT, strDescription & "\DefaultIcon", "", strIcon, REG_SZ
SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0 '刷新文件關聯
End Sub
Public Function SetValueEx(ByVal hKey As Long, sValueName As String, lType As Long, vValue As Variant) As LongDim nValue As Long
Dim sValue As String
Select Case lType
Case REG_SZ
sValue = vValue & Chr$(0)
SetValueEx = RegSetValueExString(hKey, sValueName, 0&, lType, sValue, LenB(StrConv(sValue, vbUnicode)))
Case REG_DWORD
nValue = vValue
SetValueEx = RegSetValueExLong(hKey, sValueName, 0&, lType, nValue, 4)
End Select
End FunctionPublic Sub CreateNewKey(sNewKeyName As String, lPredefinedKey As Long)Dim hKey As Long
Dim r As Long
r = RegCreateKeyEx(lPredefinedKey, sNewKeyName, 0&, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0&, hKey, r)
Call RegCloseKey(hKey)
End SubPublic Sub SetKeyValue(ByVal Keyhwnd As Long, sKeyName As String, sValueName As String, vValueSetting As Variant, lValueType As Long)
Dim r As Long
Dim hKey As Long
r = RegOpenKeyEx(Keyhwnd, sKeyName, 0, KEY_ALL_ACCESS, hKey)
r = SetValueEx(hKey, sValueName, lValueType, vValueSetting)
Call RegCloseKey(hKey)End Sub
Ⅶ 如何在VB中調用文件夾數據
窗體上畫3個文本框控制項Text1、Text2、Text3
兩個按鈕Command1和Command2
Command1用於保存數據,Command2用於從文本讀取數據並填入文本框
代碼如下:
Private Sub Command1_Click()
Dim Fnum As Double, StrToWrite As String
Fnum = FreeFile(0)
StrToWrite = "a:123" & vbCrLf & "b:345" & vbCrLf & "c:765"
Open "c:\123.txt" For Binary Access Write As Fnum
Put Fnum, , StrToWrite
Close Fnum
End Sub
Private Sub command2_Click()
Dim Fnum As Double, StrRead As String, TmpArray As Variant
Fnum = FreeFile(0)
Open "C:\123.txt" For Binary Access Read As Fnum
StrRead = Input$(LOF(Fnum), Fnum)
Close Fnum
TmpArray = Split(StrRead, vbCrLf)
Text1.Text = Split(TmpArray(0), ":")(1)
Text2.Text = Split(TmpArray(1), ":")(1)
Text3.Text = Split(TmpArray(2), ":")(1)
End Sub
Ⅷ 在 VB 中如何鏈接到一個 CHM 幫助文件
VB實現CHM幫助,相應做以下的工作:
1、生成CHM幫助文件。CHM幫助文件實際就是用HTM文件組織起來的一個幫助文件,首先編輯HTM文件,在HTM文件中可以有文字的幫助說明,也可以有圖片的幫助說明,這些HTM文件組成了一個比較嚴密的文件系統,他們有內在的聯系,好像好一個靜態網站一樣。
編輯好HTM文件後,用CHM幫助生成軟體進行編譯,生成CHM文件,這就是我們准備要調用的幫助文件。
2、首先聲明一個函數,就是調用幫助文件的函數:
Declare Function Htmlhelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, _
ByVal pszFile As String, _
ByVal uCommand As Long, _
ByVal dwData As Any) As Long
其次在打開幫助文件的位置添加以下語句:
Call Htmlhelp(hWnd, App.HelpFile, HH_DISPLAY_TOPIC, ByVal "幫助文件.htm")
當然在程序啟動時必須載入幫助文件:
Private Sub Form_Load()
App.HelpFile = App.Path & "\幫助文件.chm"
End Sub
Ⅸ 在VB中引用文件夾使其在EXCEL創建超鏈接
Sub 讀取文件名稱()
File1.Path = "x:\xxxx" '指定一個文件夾
File1.Pattern = "*.xlsx" '指定文件類型
Dim i As Integer
For i = 0 To File1.ListCount - 1
File1.List(i) = Cells(i, 1)
Next i
End Sub
單元格的下標要從1開始的
換成cells(i+1,1)=file1.list1(i)
Ⅹ 如何通過excel VB獲取指定文件夾里的指定文件名稱與修改時間,並為文件名添加超鏈接
方法在文件夾123.xls中,點按鈕就可以了,文件夾的路徑你要自己修改 這里考慮了文件夾下還有子文件夾,但沒考慮子文件夾下,還有子文件夾的情況. 附件:遍歷文件夾的方法.rar