Private Type BrowseInfo
lngHwnd 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
Private Const BIF_RETURNONLYFSDIRS = 1
(ByVal hMem As Long)
Alias "lstrcatA" (ByVal lpString1 As String, _
(lpbi As BrowseInfo) As Long
(ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Function BrowseForFolder(ByVal lngHwnd As Long, ByVal strPrompt As String) As String
Dim intNull As Integer
Dim lngIDList As Long, lngResult As Long
Dim strPath As String
Dim udtBI As BrowseInfo
With udtBI
.lngHwnd = lngHwnd
.lpszTitle = lstrcat(strPrompt, "")
.ulFlags = BIF_RETURNONLYFSDIRS
End With
lngIDList = SHBrowseForFolder(udtBI)
If lngIDList <> 0 Then
strPath = String(MAX_PATH, 0)
lngResult = SHGetPathFromIDList(lngIDList, strPath)
Call CoTaskMemFree(lngIDList)
intNull = InStr(strPath, vbNullChar)
0 Then
strPath = Left(strPath, intNull - 1)
End If
BrowseForFolder = strPath
ehBrowseForFolder:
BrowseForFolder = Empty
End Function
Private Sub Command1_Click()
aa = BrowseForFolder(Me.hWnd, "")
MsgBox aa
End Sub
我认为绿色一点的方法 是把附件加到资源文件中
运行时释放到EXE文件所在目录 而程序中一律用相对路径
这个可以打开所在目录的文件夹
Shell
"explorer.exe
"
&
app.Path
vbNormalFocus
这个可以打开任意路径的文件夹
"你要打开的文件夹路径"
_
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!