在這裡ScriptText屬性表示用戶設置的原始的VBA 腳本代碼,實際參與動態編譯的腳本代碼和原始設置的原始的VBA腳本代碼是不一致的。當用 戶修改了腳本代碼文本,則會設置bolScriptModifIEd變量的值,腳本引擎運行腳本方法時會 檢查這個變量的值來判斷是否需要重新動態編譯操作。
此外袁某人還定義了其他的一 些控制腳本引擎的屬性,其定義的代碼如下
private bool bolEnabled = true;
/// <summary>
/// 對象是否可用
/// </summary>
public bool Enabled
{
get
{
return bolEnabled;
}
set
{
bolEnabled = value;
}
}
private bool bolOutputDebug = true;
/// <summary>
/// 腳本在運行過程中可否輸出調試信息
/// </summary>
public bool OutputDebug
{
get
{
return bolOutputDebug;
}
set
{
bolOutputDebug = value;
}
}
編譯腳本
筆者為腳本引擎編寫了Compile函數用於編輯腳本。編譯腳本的過程大體分為生成腳 本代碼文本、編譯腳本編譯、分析腳本程序集三個步驟。