国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

VBS打開選擇文件對話框代碼(Win7)

2020-07-26 11:50:16
字體:
來源:轉載
供稿:網友
相信很多人都看過“嗨,Scripting Guy!”上面的一個問題,就算沒有看過原文,也應該看過被復制粘貼后的代碼。

我如何向用戶顯示一個用來選擇文件的對話框?

問:嗨,Scripting Guy!有沒有什么方法可以讓我使用腳本向用戶顯示一個對話框,供用戶選擇文件使用? ― BF

答:您好,BF。如果您使用的是 Windows 2000,我們不知道實現此操作的方法,至少操作系統中沒有內置這樣的方法。但如果您使用的是 Windows XP,情況就不同了。在 Windows XP 上,您可以使用“UserAccounts.CommonDialog”對象向用戶顯示一個標準的“文件打開”對話框。可以用類似以下代碼的腳本:


代碼我就不復制粘貼了,原文里面有,網上也到處都是。但是問題在于,這段代碼只能用于 Windows XP 系統(Windows 2003 或許也可以,但是我沒有測試過),而現在 Windows 7 已經逐漸開始流行起來。在 Vista 和Windows 7 系統中默認是不自帶 UserAccounts.CommonDialog 組件的(順便提一句,SAFRCFileDlg.FileOpen 和 SAFRCFileDlg.FileSave 組件也是沒有的)。

那么如何在 Windows 7 系統中向用戶顯示一個用來選擇文件的對話框呢?答案是 html 中的文件選擇對話框:
復制代碼 代碼如下:

Function BrowseForFile()
Dim shell : Set shell = CreateObject("WScript.Shell")
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")

Dim tempFolder : Set tempFolder = fso.GetSpecialFolder(2)
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

'Author: Demon
'Website: http://demon.tw
'Date: 2011/6/2

path = BrowseForFile()
If path <> "" Then WScript.Echo path
 
原文:http://demon.tw/programming/vbs-open-file-dialog.html
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双峰县| 苏尼特左旗| 涡阳县| 凤凰县| 遵化市| 阿合奇县| 齐河县| 蓬安县| SHOW| 天镇县| 襄樊市| 浪卡子县| 分宜县| 灵璧县| 西乌珠穆沁旗| 鱼台县| 巨野县| 凤城市| 崇礼县| 江北区| 鸡泽县| 常德市| 克拉玛依市| 谢通门县| 建瓯市| 璧山县| 台北县| 博乐市| 阿鲁科尔沁旗| 乌兰浩特市| 富平县| 景东| 大悟县| 巴塘县| 余江县| 平南县| 大方县| 松溪县| 桦川县| 乌兰浩特市| 石渠县|