欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2009年07月15日 19:41:45   作者:  
VBA 瀏覽文件夾對話框調(diào)用實現(xiàn)代碼。大家可以根據(jù)需要選擇。
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中測試通過

相關(guān)文章

  • VBA實現(xiàn)全文件快速替換的示例代碼

    VBA實現(xiàn)全文件快速替換的示例代碼

    要想一下子就替換掉很多個WORD文檔中的內(nèi)容,我們可以使用VBA的辦法,本文主要介紹了VBA實現(xiàn)全文件快速替換的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • excel vba 高亮顯示當前行代碼

    excel vba 高亮顯示當前行代碼

    用條件格式設(shè)置高亮顯示當前行,難的是如何確定當前行。用VBA就很簡單,鼠標右擊工作表標簽,選擇“查看代碼”,將下面的代碼粘貼到VBE窗口中
    2009-07-07
  • VBA中Excel宏的介紹及應(yīng)用

    VBA中Excel宏的介紹及應(yīng)用

    本文主要介紹了VBA中Excel宏的介紹及應(yīng)用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-05-05
  • VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)

    VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)

    本文主要介紹了VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-08-08
  • VBA UsedObjects 集合用法

    VBA UsedObjects 集合用法

    可用 Application 對象的 UsedObjects 屬性返回一個 UsedObjects 對象。
    2009-07-07
  • VBA 中要用到的常數(shù)

    VBA 中要用到的常數(shù)

    VBA 中要用到的常數(shù)...
    2007-02-02
  • 向數(shù)據(jù)報表添加一個合計字段

    向數(shù)據(jù)報表添加一個合計字段

    在數(shù)據(jù)環(huán)境設(shè)計器中也可以創(chuàng)建一個合計字段,即對來自部分的數(shù)據(jù)進行合計的字段。
    2009-07-07
  • Excel·VBA合并工作簿的實現(xiàn)示例

    Excel·VBA合并工作簿的實現(xiàn)示例

    本文主要介紹了Excel·VBA合并工作簿的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-01-01
  • VBA工程加密PJ方式(兩種)

    VBA工程加密PJ方式(兩種)

    今天遇到一個excel小工具感覺不錯,想研究研究代碼,竟然有密碼,我就不淡定了。網(wǎng)上找了找代碼,改了一下就OK了。接下來通過本文給大家分享兩種方式破解VBA工程加密,需要的朋友參考下吧
    2021-12-12
  • VBA處理數(shù)據(jù)與Python Pandas處理數(shù)據(jù)案例比較分析

    VBA處理數(shù)據(jù)與Python Pandas處理數(shù)據(jù)案例比較分析

    這篇文章主要介紹了VBA處理數(shù)據(jù)與Python Pandas處理數(shù)據(jù)案例比較,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04

最新評論