Combinação de VBA e personalizações de nível de documento

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de documento

Versão do Microsoft Office

  • Microsoft Office Sistema de 2007

  • Microsoft Office 2003

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Você pode usar o Visual Basic para código Applications (VBA) em um documento que faz parte de uma personalização de nível de documento Ferramentas do Visual Studio para o Office para Microsoft Office Word ou Microsoft Office Excel.Em todos os projetos de nível de documento, você pode chamar código do VBA no documento do conjunto de módulos (assembly) de personalização.Em projetos de nível de documento para o 2007 Microsoft Office Sistema, você também pode configurar seu projeto para habilitar código VBA do documento para chamar o código no assembly de personalização. Para obter mais informações, consulte Chamar o código em nível de documento personalizações do VBA.

Comportamento do código do VBA em uma personalização em nível de documento

Quando você abre o projeto no Visual Studio, o documento é aberto no modo de design.Código do VBA não é executado quando o documento está no modo de design, para poder trabalhar no documento e código sem Executando o código do VBA.

Quando você executa a solução, manipuladores de eventos no VBA e o Ferramentas do Visual Studio para o Office Ambossembly selecionam eventos que são gerados no documento, e executar os dois conjuntos de código.Você não pode determinar antecipadamente qual código será executado antes do outro; Você deve determinar isso por meio de testes em cada maiúscminúsc individual.Você pode obter resultados inesperados se os dois conjuntos de código não cuidadosamente estiverem coordenados e testados.

Chamar o código VBA do assembly de personalização

Você pode chamar macros em documentos do Word, e você pode chamar funções e macros em pastas de trabalho do Excel.Para fazer isso, use um dos seguintes métodos:

Para cada método, o primeiro parâmetro identifica o nome da macro ou função que você deseja chamar e os parâmetros opcionais restantes especificarem os parâmetros para passar para a macro ou função.O primeiro parâmetro pode ter formatos diferentes para o Word e Excel:

  • Para o Word, o primeiro parâmetro é uma Cadeia de Caracteres que pode ser qualquer combinação de modelo, o módulo e o nome da macro.Se você especificar o nome do documento, seu código poderá ser apenas executado macros em documentos relacionados ao contexto atual — não qualquer macro em qualquer documento.

  • Para que o Excel, o primeiro parâmetro pode ser uma Cadeia de Caracteres que especifica Nome da Macro, um Range que indica onde está a função ou uma identificação de registro para uma função de DLL (XLL) registrado.Se você passar uma Cadeia de Caracteres, a Cadeia de Caracteres será avaliada no contexto da planilha Ativo.

O exemplo de código a seguir mostra como chamar uma macro denominada MyMacro em um projeto de nível de documento para o Excel.Este exemplo pressupõe que MyMacro está definido em Sheet1.

Globals.Sheet1.Application.Run("MyMacro")
Globals.Sheet1.Application.Run("MyMacro", missing, missing, missing,
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing, missing, missing, 
    missing, missing, missing, missing, missing, missing);
Observação:

Para obter informações sobre como usar o global Variável missing no lugar do parâmetros opcionais no Visual C#, consulte Programação com Visual Basic vs. C#.

Consulte também

Tarefas

Como: Expor código VBA em um projeto do Visual Basic

Como: Expor código VBA em um projeto do Visual C#

Demonstra Passo a passo: Chamar o código de VBA em um projeto do Visual Basic

Demonstra Passo a passo: Chamar o código de VBA em um projeto do Visual C#

Conceitos

Chamar o código em nível de documento personalizações do VBA

Criar soluções do Office no Visual Studio

VBA e o Visual Studio Tools for Office Solutions em comparação comparadas o

Assemblies em Visão geral de soluções do Office