Usar um mecanismo de script em um aplicativo pode aumentar bastante a flexibilidade e a escalabilidade do programa, semelhante às funções macro do MS Office e do VS.NET. Na estrutura Microsoft .NET, Microsoft.vsa.dll define a estrutura do mecanismo de script, enquanto Microsoft.Visualbase.vsa.dll define o mecanismo de script que implementa o VBA. Você pode usar essas duas DLLs para definir seu próprio mecanismo de script baseado em VBA.NET.
Microsoft.vsa.dll define algumas interfaces de estrutura, entre as quais as interfaces mais importantes incluem.
IVsaEngine é a interface do mecanismo de script, todos os mecanismos de script usam esta interface
Interface de comunicação do mecanismo de script IVsaSite, o mecanismo de script aceita esta interface para publicar algumas informações
IVsaItem é um item relacionado aos recursos do mecanismo de script
IVsaCodeItem é o módulo de código de script
IVsaRefrenceItem é o objeto de referência externo usado pelo mecanismo de script
IVsaGlobalItem é um módulo de objeto global usado por mecanismos de script.
O processo de uso geralmente é instanciar um mecanismo de script, passar o objeto que implementa IVsaSite para o objeto do mecanismo de script e, em seguida, usar o método CreateItem dos itens do mecanismo para adicionar referências e texto de código. e objetos globais. Em seguida, chame O método Compile compila o mecanismo de script e usa RUN para iniciar o mecanismo.
Após o mecanismo de script ser iniciado, um assembly Assembly é gerado dinamicamente e carregado no domínio do aplicativo atual com base no código de script Use IVsaEngine.Assembly para acessar o assembly gerado dinamicamente.
Microsoft.VisualBase.vsa.dll implementa essas interfaces e implementa um mecanismo de script baseado na sintaxe VBA.NET.
O objeto principal é VsaEngine.
Este programa fornece um programa de demonstração escrito em C#, usando o Microsoft .NET Framework 1.1. O programa de demonstração fornece um módulo geral para usar o mecanismo de script. para expandir.
Endereço para download do programa de demonstração:
Fonte: XDesigner BLOG