Vbs COM之打開(kāi)/保存文件腳本代碼
更新時(shí)間:2009年03月16日 23:19:15 作者:
COM組件在系統(tǒng)里是一直存在的,利用它,我們的用戶體驗(yàn)將會(huì)提升很多。
您先把如下的代碼復(fù)制,然后保存為FileSave.vbs,雙擊打開(kāi),您看到了什么呢?
Set objDialog = CreateObject("SAFRCFileDlg.FileSave")
Set fso = CreateObject("Scripting.FileSystemObject")
objDialog.FileName = "test"
objDialog.FileType = ".txt"
intReturn = objDialog.OpenFileSaveDlg
If intReturn Then
fso.CreateTextFile(objDialog.FileName & objdialog.filetype)
Else
Wscript.Quit
End if
Vbs在很多時(shí)候一直給用戶以不友好的文件打開(kāi)或是保存方式,總是自己在后臺(tái)處理掉了一些FSO操作,而不能讓用戶自己進(jìn)行一些設(shè)當(dāng)?shù)腄IY。所以,為什么不用COM呢?COM組件在系統(tǒng)里是一直存在的,利用它,我們的用戶體驗(yàn)將會(huì)提升很多。
上面的代碼是不能彈出一個(gè)保存test.txt文件的對(duì)話框呢?后綴名和文件名大家自己去修改,估計(jì)懂點(diǎn)vbs基礎(chǔ)知識(shí)的人都能修改筆者的這個(gè)小腳本,并將它鑲嵌到自己的腳本中去吧?
下面再看一個(gè)例子,這次是打開(kāi)文件,獲得文件名。
set objFile = CreateObject("SAFRCFileDlg.FileOpen")
bRet = objFile.OpenFileOpenDlg
if bRet then
Wscript.Echo "文件打開(kāi)成功!文件名為:" & objFile.filename
else
wscript.quit
End if

一個(gè)名稱,一個(gè)調(diào)用方法,僅此而已。
如果您覺(jué)得這個(gè)不夠帥,您想用類似于MFC中完全自己DIY的CFileDialog,您該怎么辦呢?也很簡(jiǎn)單,UserAccounts對(duì)象為我們提供了CommonDialog,這個(gè)更加高級(jí)的打開(kāi)通用對(duì)話框。
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "vbs File|*.vbs"
objDialog.InitialDir = "E:"
bRet=objDialog.ShowOpen
if bRet then
strLoadFile = objDialog.FileName
Wscript.Echo strLoadFile
else
Wscript.quit
End if
復(fù)制代碼 代碼如下:
Set objDialog = CreateObject("SAFRCFileDlg.FileSave")
Set fso = CreateObject("Scripting.FileSystemObject")
objDialog.FileName = "test"
objDialog.FileType = ".txt"
intReturn = objDialog.OpenFileSaveDlg
If intReturn Then
fso.CreateTextFile(objDialog.FileName & objdialog.filetype)
Else
Wscript.Quit
End if
Vbs在很多時(shí)候一直給用戶以不友好的文件打開(kāi)或是保存方式,總是自己在后臺(tái)處理掉了一些FSO操作,而不能讓用戶自己進(jìn)行一些設(shè)當(dāng)?shù)腄IY。所以,為什么不用COM呢?COM組件在系統(tǒng)里是一直存在的,利用它,我們的用戶體驗(yàn)將會(huì)提升很多。
上面的代碼是不能彈出一個(gè)保存test.txt文件的對(duì)話框呢?后綴名和文件名大家自己去修改,估計(jì)懂點(diǎn)vbs基礎(chǔ)知識(shí)的人都能修改筆者的這個(gè)小腳本,并將它鑲嵌到自己的腳本中去吧?
下面再看一個(gè)例子,這次是打開(kāi)文件,獲得文件名。
復(fù)制代碼 代碼如下:
set objFile = CreateObject("SAFRCFileDlg.FileOpen")
bRet = objFile.OpenFileOpenDlg
if bRet then
Wscript.Echo "文件打開(kāi)成功!文件名為:" & objFile.filename
else
wscript.quit
End if
運(yùn)行這個(gè)腳本(FileOpen.vbs),將會(huì)彈出一個(gè)讓用戶自己選擇文件的對(duì)話框窗口,非常友好地讓用戶自己選擇文件。bRet是執(zhí)行的返回值,不為0則成功,objFile的FileName可以返回選擇的文件名。
一個(gè)名稱,一個(gè)調(diào)用方法,僅此而已。
如果您覺(jué)得這個(gè)不夠帥,您想用類似于MFC中完全自己DIY的CFileDialog,您該怎么辦呢?也很簡(jiǎn)單,UserAccounts對(duì)象為我們提供了CommonDialog,這個(gè)更加高級(jí)的打開(kāi)通用對(duì)話框。
復(fù)制代碼 代碼如下:
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "vbs File|*.vbs"
objDialog.InitialDir = "E:"
bRet=objDialog.ShowOpen
if bRet then
strLoadFile = objDialog.FileName
Wscript.Echo strLoadFile
else
Wscript.quit
End if
將其保存為FileOpenAdvance.vbs吧,雙擊打開(kāi),它連過(guò)濾的文件類型都為您留好了接口。
默認(rèn)文件名,后綴過(guò)濾器,后綴索引,標(biāo)志,初始化未知,擁有者,一個(gè)調(diào)用方法。
相關(guān)文章
關(guān)于vbs 生成靜態(tài)頁(yè)面過(guò)程中出現(xiàn)的問(wèn)題
訪問(wèn)某個(gè)aspx頁(yè)面,然后把服務(wù)器返回的頁(yè)面以filestream 的形式保存為html格式,接下來(lái)將介紹實(shí)現(xiàn)代碼2012-12-12
VBS 批量Ping的項(xiàng)目實(shí)現(xiàn)
本文主要介紹了VBS批量Ping的項(xiàng)目實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
Dynamic Activity Window動(dòng)態(tài)活動(dòng)窗口vbs
Dynamic Activity Window動(dòng)態(tài)活動(dòng)窗口2008-12-12
VBS基礎(chǔ)篇 vbscript Sendkeys模擬鍵盤(pán)操作
在vbscript中我們可以object.SendKeys模擬鍵盤(pán)操作,將一個(gè)或多個(gè)按鍵指令發(fā)送到指定Windows窗口來(lái)控制應(yīng)用程序運(yùn)行,,需要的朋友可以參考下2018-06-06
VBS+MSWinsock打造靈巧UDP后門(mén)的相關(guān)資料
VBS+MSWinsock打造靈巧UDP后門(mén)的相關(guān)資料...2007-02-02
VBS教程:VBscript語(yǔ)句-Const 語(yǔ)句
VBS教程:VBscript語(yǔ)句-Const 語(yǔ)句...2006-11-11

