VBS打開選擇文件對話框代碼(Win7)
來源:易賢網(wǎng) 閱讀:2383 次 日期:2016-07-05 14:47:26
溫馨提示:易賢網(wǎng)小編為您整理了“VBS打開選擇文件對話框代碼(Win7)”,方便廣大網(wǎng)友查閱!

相信很多人都看過“嗨,Scripting Guy!”上面的一個問題,就算沒有看過原文,也應該看過被復制粘貼后的代碼。

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

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

答:您好,BF。如果您使用的是 Windows 2000,我們不知道實現(xiàn)此操作的方法,至少操作系統(tǒng)中沒有內(nèi)置這樣的方法。但如果您使用的是 Windows XP,情況就不同了。在 Windows XP 上,您可以使用“UserAccounts.CommonDialog”對象向用戶顯示一個標準的“文件打開”對話框??梢杂妙愃埔韵麓a的腳本:

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

那么如何在 Windows 7 系統(tǒng)中向用戶顯示一個用來選擇文件的對話框呢?答案是 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

更多信息請查看腳本欄目
易賢網(wǎng)手機網(wǎng)站地址:VBS打開選擇文件對話框代碼(Win7)

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)