응용 프로그램에서 스크립트 엔진을 사용하면 MS Office 및 VS.NET의 매크로 기능과 유사하게 프로그램의 유연성과 확장성을 크게 향상시킬 수 있습니다. Microsoft .NET 프레임워크에서 Microsoft.vsa.dll은 스크립트 엔진 프레임워크를 정의하고, Microsoft.Visualbase.vsa.dll은 VBA를 구현하는 스크립트 엔진을 정의합니다. 이 두 DLL을 사용하여 VBA.NET을 기반으로 하는 자체 스크립트 엔진을 정의할 수 있습니다.
Microsoft.vsa.dll은 일부 프레임워크 인터페이스를 정의하며 그 중 더 중요한 인터페이스는 다음과 같습니다.
IVsaEngine은 스크립트 엔진 인터페이스이며, 모든 스크립트 엔진은 이 인터페이스를 사용합니다.
IVsaSite 스크립트 엔진 통신 인터페이스, 스크립트 엔진은 일부 정보를 게시하기 위해 이 인터페이스를 허용합니다.
IVsaItem은 스크립트 엔진 리소스와 관련된 항목입니다.
IVsaCodeItem은 스크립트 코드 모듈입니다.
IVsaRefrenceItem은 스크립트 엔진에서 사용되는 외부 참조 개체입니다.
IVsaGlobalItem은 스크립트 엔진에서 사용되는 전역 개체 모듈입니다.
사용 프로세스는 일반적으로 스크립트 엔진을 인스턴스화하고 IVsaSite를 구현하는 개체를 스크립트 엔진 개체에 전달한 다음 엔진 항목의 CreateItem 메서드를 사용하여 참조, 코드 텍스트를 추가하는 것입니다. 그런 다음 Compile 메소드를 호출하여 스크립트 엔진을 컴파일하고 RUN을 사용하여 엔진을 시작합니다.
스크립트 엔진이 시작된 후 어셈블리 어셈블리는 스크립트 코드를 기반으로 현재 애플리케이션 도메인에 동적으로 생성되고 로드됩니다. 동적으로 생성된 어셈블리에 액세스하려면 IVsaEngine.Assembly를 사용하세요.
Microsoft.VisualBase.vsa.dll은 이러한 인터페이스를 구현하고 VBA.NET 구문을 기반으로 하는 스크립팅 엔진을 구현합니다.
주요 개체는 VsaEngine입니다.
이 프로그램은 Microsoft .NET Framework 1.1을 사용하여 C#으로 작성된 데모 프로그램을 제공합니다. 이 모듈을 사용하면 VBA 스크립트 엔진을 쉽게 사용할 수 있습니다. 자신의 응용 프로그램을 확장합니다.
데모 프로그램 다운로드 주소:
출처: XDesigner BLOG