commondialog文件夹
发布时间: 2023-05-28 21:04:11
⑴ VB commondialog如何才能选择一个文件夹,返回其路径让我记录下来
commondialog 似乎做不到这一点,可以调用API实现。
OptionExplicit
"shell32"(lpbiAsBrowseInfo)AsLong
"shell32"(ByValpidListAsLong,ByVallpBufferAsString)AsLong
"ole32.dll"(ByValhMemAsLong)
"kernel32"Alias"lstrcatA"(ByVallpString1AsString,ByVallpString2AsString)AsLong
PrivateTypeBrowseInfo
hWndOwnerAsLong
pIDLRootAsLong
pszDisplayName脊激AsLong
lpszTitleAsLong
ulFlagsAsLong
lpfnCallbackAsLong
lParamAsLong
iImageAsLong
EndType
PrivateConstBIF_RETURNONLYFSDIRS=1
Private枯郑ConstMAX_PATH=260
'打开Windows的选择目录对话框
'hwnd为窗口句柄(通常设为Me.hwnd),Prompt为指示字符串
FunctionShowFolderSelection(ByValhwndAsLong,ByValPromptAsString)AsString
DimiNullAsInteger
DimlpIDListAsLong
DimlResultAsLong
DimsPathAsString
DimudtBIAsBrowseInfo
WithudtBI
.hWndOwner=hwnd
.lpszTitle=lstrcat(Prompt,"")
.ulFlags=BIF_RETURNONLYFSDIRS
EndWith
lpIDList=SHBrowseForFolder(udtBI)
IflpIDListThen
sPath=String$(MAX_PATH,0)
lResult=SHGetPathFromIDList(lpIDList,sPath)
CoTaskMemFreelpIDList
iNull=InStr(sPath,vbNullChar)
IfiNull樱败袜ThensPath=Left$(sPath,iNull-1)
EndIf
ShowFolderSelection=sPath
EndFunction
PrivateSubCommand1_Click()
ShowFolderSelectionMe.hwnd,"选择目录:"
EndSub
⑵ vb commondialog 路径
设置 commondialog1.InitDir="你的路径",按照你所岁做启说的乎如,设置为commondialog1.InitDir=app.path & “\你的文件夹1名称”
commondialog2.InitDir=app.path & “\你的胡陆文件夹2名称”
热点内容