这段程序是用VBScript去取的所选文件的路径对话框,有哪位高手可以让这个对话框可以打开特定的文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这段程序是用VBScript去取的所选文件的路径对话框,有哪位高手可以让这个对话框可以打开特定的文件夹相关的知识,希望对你有一定的参考价值。

附件为VBS代码:
Function BrowseForFile()
Dim shell : Set shell = CreateObject("WScript.Shell")
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")

Dim tempFolder : Set tempFolder = fso.GetSpecialFolder(2)
'Dim tempFolder : Set tempFolder = fso.GetFolder()
Dim tempName : tempName = fso.GetTempName()
Dim tempFile : Set tempFile = tempFolder.CreateTextFile(tempName & ".hta")

tempFile.Write _
"<html>" & _
"<head>" & _
"<title>Browse</title>" & _
"</head>" & _
"<body>" & _
"<input type='file' id='f' />" & _
"<script type='text/javascript'>" & _
"var f = document.getElementById('f');" & _
"f.click();" & _
"var shell = new ActiveXObject('WScript.Shell');" & _
"shell.RegWrite('HKEY_CURRENT_USER\\Volatile Environment\\MsgResp', f.value);" & _
"window.close();" & _
"</script>" & _
"</body>" & _
"</html>"

tempFile.Close
shell.Run tempFolder & "\" & tempName & ".hta", 0, True
BrowseForFile = shell.RegRead("HKEY_CURRENT_USER\Volatile Environment\MsgResp")

shell.RegDelete "HKEY_CURRENT_USER\Volatile Environment\MsgResp"
End Function

path = BrowseForFile()
If path <> "" Then WScript.Echo path 'wscript.echo path is to transfer the path argument to batch
wscript.quit
'Author: Jerry
'Date: 2012/02/15

参考技术A 打开特定的文件夹是什么意思?

Set tempFolder = fso.GetSpecialFolder(2) 这个不就是打开特定文件夹?追问

不是,比如说我需要定位在D:\WPS这个文件夹中。

追答

'Dim tempFolder : Set tempFolder = fso.GetSpecialFolder(2)
Dim tempFolder : Set tempFolder = fso.GetFolder('D:\WPS')

追问

恩,这位大哥还是蛮厉害的,能读得懂,有经验。
但是这只是改变了临时文件的目录,如果你首次运行这个文件,一开始是指向d:\wps,但是如果你用这个程序选取文件在另一个文件夹,你再运行它,它就不会指向d:\wps,还是前次选取文件的文件夹,但是临时文件还是放在那个地方。
其实是这样的,不知道这位大哥可否做得到,
文件选择对话框,返回文件的路径,可否再增设一个变量,专门指定打开特定文件夹,每次都指向它。
非常感谢。

追答

file类型的input标签,出于安全考虑,是不允许修改,设置其value值的。

你的要求实现比较困难。

python 删除ListWidget中的所选项目

for selected_item in listWidget.selectedItems():
    listWidget.takeItem(listWidget.row(selected_item))

以上是关于这段程序是用VBScript去取的所选文件的路径对话框,有哪位高手可以让这个对话框可以打开特定的文件夹的主要内容,如果未能解决你的问题,请参考以下文章

添加对不同于 id 的所选列的引用

Silverlight Combobox 将所选项目设置为 datagrid 的所选项目

python 删除ListWidget中的所选项目

用于单选的所选插件的占位符文本不起作用

在Flutter中的所选BottomNavigationBarItem顶部显示图块

在 DAX 中测量以计算仅适用于 Power BI 的所选月份的 YTD