VBScript(JScript)是應用廣泛,簡單易學的腳本語言。使用VBScript(JScript)調用COM組件則更是容易。那麼,如果在你的程序中也能夠執行腳本,則在簡化程序設計的基礎上,還會極大地提升軟件的功能。為了方便大家使用這個功能,我寫了一個具有自動化(Automation/IDispatch)功能的EXE包裝程序來代理調用腳本執行。這個包裝程序接口只有2個函數,說明如下:
Void SetScriptLanguage(long nLanguage);
功能:設置使用腳本語言的類型
參數:0=使用VBScript 1=使用Jscript
說明:如果不調用這個函數,則默認使用VBScript
Void Run(LPCSTR lpszProgram);
功能:執行腳本
參數:腳本程序
使用方法與步驟:(以下的說明,是以VC6為藍本,VC7的用戶請參照進行操作變化)
復制文件到任意一個文件夾中,然後至少執行VBSENGIN.EXE 程序一次。完成組件的注冊工作。
創建或打開一個MFC的程序工程。
添加代碼,進行COM初始化。在App的InitInstance()函數中添加AfxOleInit()的調用。或者在使用COM功能之前調用函數CoInitialize(NULL),而COM功能結束後調用 CoUninitialize()。
添加VBSENGIN.TLB到工程中。打開ClassWizard對話窗,執行Add Class按鈕的From a type library。然後選擇VBSENGIN.TLB文件,加入IVBSEngin接口的包裝類。
在你程序中的的適當地方(比如OnButton()函數),填寫如下代碼,執行腳本。
#include "vbsengin.h"
OnButton()
{
IVBSEngin vbsEngin; //聲明一個腳本執行代理對象
if(vbsEngin.CreateDispatch("VBSEngin.Api")) //啟動腳本執行代理
{
vbsEngin.Run(sProgram); //執行腳本,sProgram中存放的是腳本源程序
vbsEngin.ReleaseDispatch(); //釋放腳本執行代理
}
}
應用舉例
使用VBScript腳本,實現把一些文本傳送到WORD中,並保存為DOC文件。(關於調用WORD功能的腳本,大家可以在WORD中錄制宏程序,稍微修改就可以轉換為VBScript腳本程序了)
''''啟動WORD
Set word=CreateObject("Word.Application")
''''顯示WORD程序界面(不執行這行,那麼你的WORD調用不會被用戶看到)
word.Visible=True
''''增加一個新文檔
word.Documents.Add
''''輸入文本
word.Selection.TypeText("Hello")
''''輸入回車
word.Selection.TypeParagraph
word.Selection.TypeText("good morning")
''''保存
word.ActiveDocument.SaveAs("c:\Hello.doc")
''''退出WORD程序
word.Quit(False)
''''釋放WORD接口
Set word=Nothing
本文配套源碼