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

Esta explicação passo a passo demonstra como chamar um método em uma personalização em nível de documento do Word de Microsoft Office de Visual Basic for Applications código VBA () no documento. O procedimento envolve três etapas básicas: Adicionar um método para o ThisDocument classe de item de host, expor o método do código do VBA e então chamar o método do código do VBA do documento.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento para os seguintes aplicativos: Excel 2007 e Excel 2010; Word 2007 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Embora este passo a passo usa o Word especificamente, os conceitos demonstraram pela explicação também se aplicam a projetos de nível de documento do Excel.

This walkthrough illustrates the following tasks:

  • Criação de um documento que contém o código do VBA.

  • Confiando o local do documento usando a Central de confiabilidade no Word.

  • Adicionando um método para o ThisDocument classe. item de host

  • Expondo o método para o código do VBA.

  • Chamando o método do código do VBA.

ObservaçãoObservação

Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. The Visual Studio edition that you have and the settings that you use determine these elements. For more information, see Trabalhando com configurações.

link para vídeo Para uma demonstração de vídeo relacionada, consulte Fazer como i: Chamar o código do VSTO do VBA?.

Pré-requisitos

You need the following components to complete this walkthrough:

-

Uma edição do Visual Studio 2010 que inclua as ferramentas de desenvolvedor do Microsoft Office. Para obter mais informações, consulte [Configurando um computador para desenvolver soluções do Office](bb398242\(v=vs.100\).md).
  • Word 2007 ou Word 2010.

Criação de um documento que contém o código do VBA

A primeira etapa é criar um documento habilitado para macro que contenha uma macro do VBA simple. O documento deve conter um projeto do VBA antes de criar um projeto de Visual Studio baseia-se nesse documento. Caso contrário, o Visual Studio não pode modificar o projeto do VBA para ativar o código do VBA chamar o assembly de personalização.

Se você já tiver um documento que contém o código VBA que você deseja usar, você pode ignorar esta etapa.

Para criar um documento que contém o código do VBA

  1. Inicie o Word.

  2. Salvar o documento ativo como uma palavra O documento habilitado para macro (*.docm) com o nome DocumentWithVBA. Salve-o em um local conveniente, como, por exemplo, a área de trabalho.

  3. Na faixa de opções, clique no Developer guia.

    ObservaçãoObservação

    Se o Developer guia não estiver visível, você deve primeiro mostrá-lo. For more information, see Como: Mostrar guia desenvolvedor na faixa de opções.

  4. No código de grupo, clique em Visual Basic.

    O Editor de Visual Basic é aberto.

  5. No projeto janela, clique duas vezes em ThisDocument.

    O arquivo de código para o ThisDocument objeto será aberta.

  6. Adicione o seguinte código do VBA para o arquivo de código. Esse código define uma função simples que não faz nada. A única finalidade desta função é garantir a existência de um projeto do VBA no documento. Isso é necessário para etapas posteriores nesta explicação.

    Sub EmptySub()
    End Sub
    
  7. Salve o documento e sair do Word.

Creating the Project

Agora você pode criar um projeto de nível de documento do Word que usa o documento habilitado para macro criado anteriormente.

Para criar um novo projeto.

  1. Start Visual Studio.

  2. On the File menu, point to New, and then click Project. Se seu IDE é definida para usar configurações de desenvolvimento da Visual Basic a arquivo menu, clique em Novo projeto.

  3. No painel templates, expanda Visual Basice em seguida, expanda Office.

  4. Selecione o 2010 ou 2007 nó.

  5. Na lista de modelos de projeto, selecione o Documento do Word project.

  6. No nome caixa, digite CallingCodeFromVBA.

  7. Click OK.

    O Visual Studio Tools for Office Project Wizard abre.

  8. Selecione Copiar um documento existentee, no um caminho completo do documento existente , especifique o local da DocumentWithVBA o documento que você criou anteriormente. Se você estiver usando seu próprio documento habilitado para macro, especifica o local deste documento.

  9. Click Finish.

    Visual StudioAbre a DocumentWithVBA no designer do documento e adiciona a CallingCodeFromVBA de projeto para Solution Explorer.

Confiar no local do documento

Antes de você pode expor o código em sua solução para o código do VBA no documento, você deve confiar em VBA do documento para executar. Há várias maneiras de fazer isso. Para esta explicação passo a passo, confia o local do documento na Trust Center no Word.

Para confiar no local do documento

  1. Inicie o Word.

  2. Clique o arquivo guia (para Word 2010) ou o Botão de Microsoft Office (para o Word 2007).

  3. Clique o Opções do Word botão.

  4. No painel de categorias, clique em Trust Center.

  5. No painel de detalhes, clique em Configurações da Central de confiabilidade.

  6. No painel de categorias, clique em Locais confiáveis.

  7. No painel de detalhes, clique em Adicionar novo local.

  8. No Local confiável do Microsoft Office caixa de diálogo, navegue até a pasta que contém o projeto CallingCodeFromVBA.

  9. Selecione as subpastas deste local são confiáveis também.

  10. No Local confiável do Microsoft Office caixa de diálogo, clique em OK.

  11. No Trust Center caixa de diálogo, clique em OK.

  12. No Opções do Word caixa de diálogo, clique em OK.

  13. Saia do Word.

A adição de um método à classe ThisDocument

Agora que o projeto VBA estiver configurado, adicionar um método para o ThisDocument classe de item de host que podem ser chamados a partir do código do VBA.

Para adicionar um método à classe ThisDocument

  1. Em Solution Explorer, com o botão direito ThisDocument. vbe em seguida, clique em Exibir código.

    O ThisDocument. vb arquivo é aberto no Editor de código.

  2. Adicione o seguinte método para o ThisDocument classe. Esse método cria uma tabela com duas linhas e duas colunas no início do documento. Os parâmetros especificam o texto que é exibido na primeira linha. Posteriormente nesta explicação passo a passo, você chamará esse método do código do VBA no documento.

    Public Sub CreateTable(ByVal firstColumnHeader As String, _
        ByVal secondColumnHeader As String)
    
        Me.Paragraphs(1).Range.InsertParagraphBefore()
        Dim table1 As Word.Table = Me.Tables.Add(Me.Paragraphs(1).Range, 2, 2)
    
        With table1
            .Style = "Table Professional"
            .Cell(1, 1).Range.Text = firstColumnHeader
            .Cell(1, 2).Range.Text = secondColumnHeader
        End With
    End Sub
    
  3. Build the project.

Expor o método para o código do VBA

Para expor o CreateTable método para o código do VBA no documento, defina a EnableVbaCallers propriedade para o ThisDocument o item de host para True.

Para expor o método para o código do VBA

  1. Em Solution Explorer, clique duas vezes em ThisDocument. vb.

    O DocumentWithVBA arquivo abre no designer.

  2. No Propriedades janela, selecione o EnableVbaCallers propriedade e altere o valor para True.

  3. Clique em OK na mensagem que é exibida.

  4. Build the project.

Chamando o método de código do VBA

Agora, você pode chamar o CreateTable método do código do VBA do documento.

ObservaçãoObservação

Nesta explicação, você irá adicionar código do VBA para o documento durante a depuração do projeto. O código do VBA que você adicionar a este documento será substituído na próxima vez que você constrói o projeto como Visual Studio substitui o documento na pasta de saída de compilação com uma cópia do documento da pasta do projeto principal. Se desejar salvar o código do VBA, você pode copiá-lo para o documento na pasta do projeto. For more information, see Código de chamada personalizações em nível de documento do VBA.

Para chamar o método do código do VBA

  1. Pressione F5 para executar seu projeto.

  2. No Developer tab, o código de grupo, clique em Visual Basic.

    O Editor de Visual Basic é aberto.

  3. Sobre o Inserir menu, clique em módulo de.

  4. Adicione o seguinte código para o novo módulo.

    Este código chama o CreateTable método no assembly de personalização. A macro acessa esse método usando a CallVSTOAssembly propriedade da ThisDocument objeto. Essa propriedade foi gerada automaticamente quando você definir a EnableVbaCallers propriedade anteriormente nesta explicação passo a passo.

    Sub CreateTable()
        Call ThisDocument.CallVSTOAssembly.CreateTable("Employee Name", "Start Date")
    End Sub
    
  5. Press F5.

  6. Verifique se uma nova tabela foi adicionada ao documento.

  7. Saia do Word sem salvar as alterações.

Próximas etapas

Você pode aprender mais sobre o código de chamada em soluções do Office do VBA nestes tópicos:

Consulte também

Tarefas

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

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

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

Outros recursos

Combinando o VBA e personalizações em nível de documento

Programação personalizações em nível de documento