VBS 如何使BrowseForFolder在打开时指定选中的文件夹且显示以桌面为根目录的顺序

function SelectFolder()

Const MY_COMPUTER = &H11&

Const WINDOW_HANDLE = &H0

Const OPTIONS = 0
Const BIF_returnonlyfsdirs = &H0001
Const BIF_editbox= &H0010

Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.Namespace(MY_COMPUTER)

Set objFolderItem = objFolder.Self

strPath = objFolderItem.Path

Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, "",NO_OPTIONS,"d:\")

objFolder.Self.path="C:\"

Set objFolderItem = objFolder.Self

objPath = objFolderItem.Path
init_save_path=objPath

SelectFolder=objPath

end function
SelectFolder()
wscript.sleep("5000")
VBS 如何使BrowseForFolder在打开时指定选中的文件夹且显示以桌面为根目录的顺序
使用上面方法的时候 根目录只能定向到d盘

如果使用这句代码Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, "",NO_OPTIONS)
那么根目录就是 桌面,但是却不能指定选中的默认路径

真是很矛盾 我想2者都有

请问应该如何写代码?

你好,我写了一段代码测试是可以的,你可以试一下。代码如下:function SelectFolder()

Const MY_COMPUTER = &H11
Const WINDOW_HANDLE = &H0

Const OPTIONS = 0
Const BIF_returnonlyfsdirs = &H0001
Const BIF_editbox= &H0010

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(MY_COMPUTER)
Set objFolderItem = objFolder.Self
strPath = objFolderItem.Path
Set objShell = CreateObject("Shell.Application")

Set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
Set WshShell = Nothing

Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, "",NO_OPTIONS, strDesktop)
objFolder.Self.path="C:\"
Set objFolderItem = objFolder.Self
objPath = objFolderItem.Path
init_save_path=objPath
SelectFolder=objPath
end Function
SelectFolder()
wscript.sleep("5000")
温馨提示:答案为网友推荐,仅供参考
相似回答