当前位置:首页 > 点滴记录 > 正文

VB引用系统浏览文件夹,并获取路径

VB引用系统浏览文件夹,并获取路径

首先在vb里新建个模块放入下方代码Public Const BIF_RETURNONLYFSDIRS = 1Public Const BIF_DONTGOBELOWDO...

image.png

首先在vb里新建个模块放入下方代码

Public Const BIF_RETURNONLYFSDIRS = 1

Public Const BIF_DONTGOBELOWDOMAIN = 2

Public Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (LpBrowseInfo As BROWSEINFO) As Long

Public Declare Function SHGetPathFromIDlist Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long

Public Type BROWSEINFO

hOwner As Long

pidlRoot As Long

pszDisplayName As String

lpszTitle As String

ulFlags As Long

lpfn As Long

lParam As Long

iImage As Long

End Type


Public Function GetFolder(ByVal hWnd As Long, Optional Title As String) As String

    Dim bi As BROWSEINFO

    Dim pidl As Long

    Dim folder As String

    folder = Space(255)

With bi

   If IsNumeric(hWnd) Then .hOwner = hWnd

   .ulFlags = BIF_RETURNONLYFSDIRS

   .pidlRoot = 0

   If Title <> "" Then

      .lpszTitle = Title & Chr$(0)

   Else

      .lpszTitle = "选择目录" & Chr$(0)

    End If

End With


pidl = SHBrowseForFolder(bi)

If SHGetPathFromIDlist(ByVal pidl, ByVal folder) Then

    GetFolder = Left(folder, InStr(folder, Chr$(0)) - 1)

Else

    GetFolder = ""

End If

End Function

然后在窗体上放一个文本框和一个按钮

放入下方代码

Private Sub Command6_Click()

Dim WJstr

    WJstr = GetFolder(Me.hWnd, "从下面选择一个文件夹存放数据")

    If WJstr <> "" Then

        Text4.Text = WJstr

    End If

End Sub

GIF 2022-07-21 17-20-16.gif

发表评论

最新文章

取消
扫码支持 支付码