vb 中5 种打开文件夹浏览框的方法总结 文章录入:浣花溪 责任编辑:snow 1038 【字体:小 大】 by daokers 众所周知,在vb 中如果是打开某一个文件的话,非常简单,使用CommonDialog 组件即可轻松完成,但是他只能选择文件,之后或许选取的文件路径,而如果想要浏览文件夹,就没这么方便了。 这里介绍 3 个办法来实现文件夹浏览。 第一个非常简单,利用Shell 对象 程序代码 '引用Microsoft Shell Controls And Automation Dim ShellA As New Shell Private Sub Command1_Click() '建立一个按钮对象 Dim Shellb As Folder Set Shellb = ShellA.BrowseForFolder(0, "选择文件夹", 0) ShellA.Open b End Sub 记得一 定 要 引 用Microsoft Shell Controls And Automation 第二种方法,我们同样利用 shell 对象,但是加几个函数 程序代码 '引用 Microsoft Shell Controls And Automation Private shlShell As Shell32.Shell Private shlFolder As Shell32.Folder Private Const BIF_RETURNONLYFSDIRS = &H1 Private Sub Command1_Click() ' If shlShell Is Nothing Then Set shlShell = New Shell32.Shell End If Set shlFolder = shlShell.BrowseForFolder(Me.hWnd, "请选择文件夹", BIF_RETURNONLYFSDIRS) If Not shlFolder Is Nothing Then MsgBox shlFolder.Items.Item.Path '测试 End If End Sub 上面2 个方法的结果如图: 第三个方法,是利用API 来操作。 程序代码 Private Const BIF_RETURNONLYFSDIRS = 1 Private Const BIF_DONTGOBELOWDOMAIN = 2 Private Const MAX_PATH = 260 Private Declare Function SHBrowseForFolder Lib "Shell32" (lpbi As BrowseInfo) As Long Private Declare Function SHGetPathFromIDList Lib "Shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long 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 Typ...