Использование механизма сценариев в приложении может значительно повысить гибкость и масштабируемость программы, подобно функциям макросов 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.
Эта программа представляет собой демонстрационную программу, написанную на C# с использованием Microsoft .NET Framework 1.1. Демонстрационная программа предоставляет общий модуль для использования механизма сценариев. Используя этот модуль, вы можете легко использовать механизм сценариев VBA. расширить собственное приложение.
Адрес загрузки демо-программы:
Источник: БЛОГ XDesigner