周顯春
摘要:針對(duì)VBA在某些應(yīng)用方面的不足,提出基于WScript的VBA的解決實(shí)際問題的方法。該方法能夠發(fā)揮它們各自的優(yōu)勢(shì),有能夠達(dá)到1+1>2的效果。
關(guān)鍵詞:WScript;VBA;應(yīng)用
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)08-0089-02
Abstract: According to the deficiency of VBA in some applications, put forward the method of WScript to solve practical problems based on VBA. This method can give play to their respective advantages, there are able to achieve the effect of 1+1>2.
Key words: Wscript; VBA; application
1 VBA知識(shí)
VBA,全稱 Visual Basic For Applications,是新一代標(biāo)準(zhǔn)宏語(yǔ)言,是Visual Basic 程序設(shè)計(jì)語(yǔ)言的一個(gè)分支。VBA不能夠單獨(dú)運(yùn)行,它要求有一個(gè)寄生于宿主應(yīng)用程序才能運(yùn)行,比,如微軟公司的Office辦公軟件套件、AutoCAD、CorelDraw等。VBA 主要進(jìn)行二次開發(fā),從而改進(jìn)它們的功能,使得它們能根據(jù)用戶的需求實(shí)現(xiàn)更多的功能。VBA已有20多年的歷史,其開發(fā)環(huán)境和語(yǔ)法已趨于完善,功能非常強(qiáng)大。
2 WScript的優(yōu)勢(shì)
2.1 VBS
全稱VBScript,是一種腳本程序,和VBA一樣,它也要有宿主,只不過,VBS的宿主使用更加廣泛,因?yàn)樗乃拗鞒绦騑indows 操作系統(tǒng)的Windows Scripting Host。當(dāng)使用VBS腳本編寫一個(gè)腳本文件時(shí),文件的擴(kuò)展名為.vbs 或.js,該文件在 Windows 環(huán)境下下雙擊并就可以執(zhí)行它。之所以會(huì)發(fā)生這種情況,是因?yàn)樵趙indows的環(huán)境執(zhí)行該腳本文件時(shí),系統(tǒng)就會(huì)調(diào)用Wscript.exe程序?qū)δ_本文件編譯,然后才能執(zhí)行。
使用VBS的腳本文件在工作中應(yīng)用極廣,主要應(yīng)用于對(duì)文件、目錄、磁盤的訪問;獲取操作系統(tǒng)的信息;突破VBA的限制,如VBA對(duì)注冊(cè)表的操作有限,只能在指定目錄讀寫,而WScript技術(shù)可操作注冊(cè)表的任意鍵值等[1]。
2.2 WScript常用的方法與屬性
WScript.Shell對(duì)象是Wscript技術(shù)的核心,其常用的方法如表1-2。
2.3 VBS的優(yōu)點(diǎn)
VBS優(yōu)點(diǎn)在于它不像VBA需要專門的開發(fā)環(huán)境VBE,使用文本編輯器就可以完成開發(fā)任務(wù),當(dāng)然,最重要的是它使可以充分利用腳本來實(shí)現(xiàn)計(jì)算機(jī)工作的自動(dòng)化,也正是它的這一特點(diǎn),使的系統(tǒng)又有了新的安全隱患。
3 應(yīng)用舉例
3.1 VBA的應(yīng)用
在現(xiàn)實(shí)生活中,可能遇到把許多電子表格文件合并成一張文件,或者合并成一個(gè)工作簿中的一張工作表場(chǎng)景。如果采用人工操作,尤其是在大量重復(fù)操作時(shí),非常繁瑣,如果采用VBA進(jìn)行程序設(shè)計(jì),解決這樣的問題就非常簡(jiǎn)單了。
上面的代碼只能夠在32位OS環(huán)境下執(zhí)行,如果是64位的OS環(huán)境下安裝此補(bǔ)丁,還要把dotnetfx35langpack_x86zh-CHS.exe /q修改為:dotnetfx35langpack_x64zh-CHS.exe /q。
4 小結(jié)
本文介紹了vba、VBS 編程技術(shù),并利用vba技術(shù)解決了合并工作簿和工作表的問題、VBS 技術(shù)解決在某種程序自動(dòng)安裝的方法。尤其是,利用VBS和VBA相結(jié)合解決程序自動(dòng)安裝的這種方法可以用在其它類似的應(yīng)用場(chǎng)景中。可以擴(kuò)展這項(xiàng)技術(shù)這種應(yīng)用環(huán)境,推廣到網(wǎng)絡(luò)環(huán)境中,尤其是局域網(wǎng)的環(huán)境中,通過相應(yīng)軟件的幫助,就可以實(shí)現(xiàn)一次指令大范圍的安裝,可以簡(jiǎn)化安裝過程,提高工作效率,很有推廣的價(jià)值。同時(shí),也要注意到利用vba、vbs的腳本文件,在 WSH 的支持下,也可以讓病毒在網(wǎng)絡(luò)上傳播[2]。
參考文獻(xiàn):
[1] 羅剛君. Excel VBA程序開發(fā)自學(xué)寶典[M]. 2版. 北京: 電子工業(yè)出版社, 2011.
[2] 張運(yùn)凱, 王長(zhǎng)廣, 王方偉, 等. “震蕩波”蠕蟲分析與防范[J]. 計(jì)算機(jī)工程, 2005, 31(18).