茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    VBA 瀏覽文件夾對話框調用的幾種方法
    來源:易賢網 閱讀:1661 次 日期:2014-09-25 11:56:49
    溫馨提示:易賢網小編為您整理了“VBA 瀏覽文件夾對話框調用的幾種方法”,方便廣大網友查閱!

    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

    '【自定義函數(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方法

    代碼如下:

    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中測試通過

    更多信息請查看IT技術專欄

    更多信息請查看腳本欄目

    2026國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網