麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > 綜合 > 正文

VBA 瀏覽文件夾對話框調用的幾種方法

2024-07-21 23:03:53
字體:
來源:轉載
供稿:網友
1、使用API方法 
復制代碼 代碼如下:

'【類型聲明】
Private Type BROWSEINFO
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
'【API聲明】
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, _
ByVal pszPath As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Private Declare Function lstrcat Lib "kernel32" _
Alias "lstrcatA" (ByVal lpString1 As String, _
ByVal lpString2 As String) As Long
Private Declare Function OleInitialize Lib "ole32.dll" _
(lp As Any) As Long
Private Declare Sub OleUninitialize Lib "ole32" ()
Private Const BIF_USENEWUI = &H40
Private Const MAX_PATH = 260
'【自定義函數】
Public Function GetFolder_API(sTitle As String, Optional vFlags As Variant) As String
Dim lpIDList As Long
Dim sBuffer As String
Dim BInfo As BROWSEINFO
If IsMissing(vFlags) Then vFlags = BIF_USENEWUI
Call OleInitialize(ByVal 0&)
With BInfo
.lpszTitle = lstrcat(sTitle, "")
.ulFlags = vFlags
End With
lpIDList = SHBrowseForFolder(BInfo)
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
If sBuffer <> "" Then GetFolder_API = sBuffer
End If
Call OleUninitialize
End Function
'【使用方法】
Sub Test()
MsgBox GetFolder_API("選擇文件夾")
End Sub

2、使用Shell.Application方法
復制代碼 代碼如下:

Sub GetFloder_Shell()
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "選擇文件夾", 0, 0)
If Not objFolder Is Nothing Then
MsgBox objFolder.self.path
End If
Set objFolder = Nothing
Set objShell = Nothing
End Sub

3、使用FileDialog方法
復制代碼 代碼如下:

Sub GetFloder_FileDialog()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
If fd.Show = -1 Then MsgBox fd.SelectedItems(1)
Set fd = Nothing
End Sub

以上方法在WINXP+OFFICE2003中測試通過
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品中文一区 | 少妇一级淫片免费看 | 一级电影免费在线观看 | 午夜视频在线看 | 国产精品久久久久久久av三级 | 在线视频1区 | 久久国产精品成人免费网站 | 免费观看的毛片手机视频 | 成人免费毛片片v | 综合激情网 | 国产自在线 | 杏美月av | 欧美日韩亚洲一区二区三区 | 免费看毛片的网站 | 黄色国产在线观看 | 天天操很很操 | av大全在线免费观看 | 黄色网址在线免费播放 | 中国av免费在线观看 | 欧美一区黄色 | 日本精品一区二区 | 久久第四色 | 欧美成a人片在线观看久 | 成人精品视频网站 | 精品国产91久久久久久 | 日日摸夜夜添夜夜添牛牛 | 国产精品刺激对白麻豆99 | www久久国产 | 真人一级毛片免费 | 国内精品久久久久久久久久 | 一本色道久久综合亚洲精品小说 | 羞羞视频在线免费 | 人人玩人人爽 | 日本网站一区二区三区 | 国产亚洲精品久久久久5区 日韩一级片一区二区三区 国产精品久久久久av | 日韩在线欧美在线 | 精品国产一区二区三 | 日本中文不卡视频 | 九九午夜 | 黄污视频在线看 | 国产午夜精品理论片a级探花 |