アプリケーションでスクリプト エンジンを使用すると、MS Office や VS.NET のマクロ機能と同様に、プログラムの柔軟性と拡張性が大幅に向上します。 Microsoft .NET Framework では、Microsoft.vsa.dll がスクリプト エンジン フレームワークを定義し、Microsoft.Visualbase.vsa.dll が VBA を実装するスクリプト エンジンを定義します。これら 2 つの DLL を使用して、VBA.NET に基づいた独自のスクリプト エンジンを定義できます。Microsoft.vsa.dll
は、いくつかのフレームワーク インターフェイスを定義します。その中には、より重要なインターフェイスが含まれます。
IVsaEngine はスクリプト エンジン インターフェイスであり、すべてのスクリプト エンジンはこのインターフェイスを使用します
IVsaSite スクリプト エンジン通信インターフェイス。スクリプト エンジンはこのインターフェイスを受け入れて情報を公開します。
IVsaItem はスクリプト エンジンのリソースに関連するアイテムです
IVsaCodeItem はスクリプト コード モジュールです
IVsaRefrenceItem は、スクリプト エンジンによって使用される外部参照オブジェクトです。
IVsaGlobalItem は、スクリプト エンジンによって使用されるグローバル オブジェクト モジュールです。
使用プロセスは通常、スクリプト エンジンをインスタンス化し、IVsaSite を実装するオブジェクトをスクリプト エンジン オブジェクトに渡し、エンジンの Items の CreateItem メソッドを使用して参照とコード テキストを追加します。次に、Compile メソッドを呼び出してスクリプト エンジンをコンパイルし、RUN を使用してエンジンを開始します。
スクリプト エンジンが開始されると、アセンブリ アセンブリが動的に生成され、スクリプト コードに基づいて現在のアプリケーション ドメインに読み込まれます。IVsaEngine.Assembly を使用して、動的に生成されたアセンブリにアクセスします。
Microsoft.VisualBase.vsa.dll は、これらのインターフェイスを実装し、VBA.NET 構文に基づいたスクリプト エンジンを実装します。
主要なオブジェクトは VsaEngine です。
このプログラムは、Microsoft .NET Framework 1.1 を使用して C# で記述されたデモ プログラムを提供します。このモジュールを使用すると、VBA スクリプト エンジンを簡単に使用できます。独自のアプリケーションを拡張します。
デモ プログラムのダウンロード アドレス:
出典: XDesigner BLOG