主頁 > 知識庫 > VBA 瀏覽文件夾對話框調(diào)用的幾種方法

VBA 瀏覽文件夾對話框調(diào)用的幾種方法

熱門標(biāo)簽:浦東上海400開頭的電話申請 邯鄲外呼調(diào)研線路 真人語音電銷機器人系統(tǒng) 樂昌電話機器人 買了外呼系統(tǒng)不想用了怎么辦 電話機器人電話卡封號怎么辦 北京語音電銷機器人價格 開封百應(yīng)電銷機器人聯(lián)系方式 武漢呼叫中心外呼系統(tǒng)線路商
1、使用API方法 
復(fù)制代碼 代碼如下:

'【類型聲明】
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
'【自定義函數(shù)】
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方法
復(fù)制代碼 代碼如下:

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方法
復(fù)制代碼 代碼如下:

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中測試通過
您可能感興趣的文章:
  • VBA 編程基礎(chǔ)
  • excel vba 高亮顯示當(dāng)前行代碼
  • Excel VBA連接并操作Oracle
  • vba 獲取PPT幻燈片中的所有標(biāo)題的代碼
  • VBA中連接SQLSERVER數(shù)據(jù)庫例子
  • VBA解決Windows空當(dāng)接龍的617局

標(biāo)簽:河北 宜春 石嘴山 松原 淄博 六安 自貢 鄂州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《VBA 瀏覽文件夾對話框調(diào)用的幾種方法》,本文關(guān)鍵詞  VBA,瀏覽,文件夾,對話框,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《VBA 瀏覽文件夾對話框調(diào)用的幾種方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于VBA 瀏覽文件夾對話框調(diào)用的幾種方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章