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

相信很多人都看過(guò)“嗨,Scripting Guy!”上面的一個(gè)問(wèn)題,就算沒(méi)有看過(guò)原文,也應(yīng)該看過(guò)被復(fù)制粘貼后的代碼。

我如何向用戶(hù)顯示一個(gè)用來(lái)選擇文件的對(duì)話框?

問(wèn):嗨,Scripting Guy!有沒(méi)有什么方法可以讓我使用腳本向用戶(hù)顯示一個(gè)對(duì)話框,供用戶(hù)選擇文件使用? — BF

答:您好,BF。如果您使用的是 Windows 2000,我們不知道實(shí)現(xiàn)此操作的方法,至少操作系統(tǒng)中沒(méi)有內(nèi)置這樣的方法。但如果您使用的是 Windows XP,情況就不同了。在 Windows XP 上,您可以使用“UserAccounts.CommonDialog”對(duì)象向用戶(hù)顯示一個(gè)標(biāo)準(zhǔn)的“文件打開(kāi)”對(duì)話框。可以用類(lèi)似以下代碼的腳本:

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

那么如何在 Windows 7 系統(tǒng)中向用戶(hù)顯示一個(gè)用來(lái)選擇文件的對(duì)話框呢?答案是 html 中的文件選擇對(duì)話框:

代碼如下:

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

更多信息請(qǐng)查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:VBS打開(kāi)選擇文件對(duì)話框代碼(Win7)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)