解决方案 »
- 开贴感谢PctGL帮我解决不能访问文件名中有Unicode字符的问题2
- Commondialog 控件多选 !
- ¥¥¥¥textbox的DataSource属性设置
- 怎么把VB转到EXCEL或者是WORD!!!!!!!!!!!期待!
- VB报表问题,困扰小弟很久了.来者有分!!!
- 超级绿豆恭祝我家亲戚陈老大生辰快乐!
- 关于MSHFlexGrid中进行查找(比较难,但很能实用)
- [帮帮忙]VB读取Access数据库中的ole数据?(图片)
- 我现在做了个“WPS接口”有谁需要请与我联系
- 怎么使使这数据库中的某个动态数据表(如动态库存)在三台电脑上同步?急!急!急!
- as new object和 as object的区别
- 【求助】mschart 锯齿问题
'sDir=BrowseForFolder()
'添加这个模块Option ExplicitPrivate 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
Const BIF_RETURNONLYFSDIRS = 1
Const MAX_PATH = 260
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
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 LongPublic Function BrowseForFolder(Optional sTitle As String = "请选择文件夹") As String
Dim iNull As Integer, lpIDList As Long, lResult As Long
Dim sPath As String, udtBI As BrowseInfo With udtBI
.hWndOwner = 0 ' Me.hWnd
.lpszTitle = lstrcat(sTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS
End With
lpIDList = SHBrowseForFolder(udtBI)
If lpIDList Then
sPath = String$(MAX_PATH, 0)
SHGetPathFromIDList lpIDList, sPath
CoTaskMemFree lpIDList
iNull = InStr(sPath, vbNullChar)
If iNull Then
sPath = Left$(sPath, iNull - 1)
End If
End If BrowseForFolder = sPath
End Function