Passo a passo: Chamar o código do VBA em um projeto de Visual Basic
Essa explicação passo a passo demonstra como chamar um método em uma personalização da nível do Microsoft Office Word de código Visual Basic é VBA Applications () no documento.o procedimento envolve três etapas básicas: adicione um método à classe de item host de ThisDocument , expõe o método para o código de VBA, e então chame o método do código de VBA no documento.
Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento para os seguintes aplicativos: Excel 2013 e Excel 2010; Word 2013 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.
Embora essa explicação passo a passo usa a palavra especificamente, os conceitos demonstrado por passo a passo também se aplicam a nível de projetos para o excel.
Essa explicação passo a passo mostra as seguintes tarefas:
Criando um documento que contém o código de VBA.
Confiar no local do documento usando confiança centralizar em palavras.
Adicionando um método à classe de item host de ThisDocument .
Expõe o método para o código de VBA.
Chamando o método do código de VBA.
Observação |
---|
Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário Visual Studio nas instruções a seguir.A edição Visual Studio que você possui e as configurações que você usa determinam esses elementos.Para obter mais informações, consulte Configurações de Visual Studio. |
Para uma demonstração de vídeo relacionada, consulte Como: eu faço Código de chamada VSTO de VBA?.
Pré-requisitos
Para completar este passo-a-passo, são necessários os seguintes componentes:
-
Uma edição do Visual Studio 2012 que inclui o Microsoft Office Developer Tools. Para obter mais informações, consulte [Configurando um computador para desenvolver soluções do Office](bb398242\(v=vs.110\).md).
- Word 2013 ou Word 2010.
Criando um documento que contém o código de VBA
A primeira etapa é criar um documento habilitado para macro que contém uma macro simples de VBA.O documento deve conter um projeto de VBA antes de criar um projeto do Visual Studio que é baseado em esse documento.Caso contrário, o Visual Studio não pode alterar o projeto de VBA ativar o código de VBA para chamar no assembly de personalização.
Se você já tiver um documento que contém o código de VBA que você deseja usar, poderá pular esta etapa.
Para criar um documento que contém o código de VBA
Palavras de Início.
Salve o documento ativo como uma palavra documento habilitado para macro (*.docm) com o nome DocumentWithVBA.Salve o em um local conveniente, como a área de trabalho.
Em fita, clique na guia de Desenvolvedor .
Observação Se a guia de Desenvolvedor não estiver visível, primeiro você deve mostrar.Para obter mais informações, consulte Como: Mostrar guia desenvolvedor na faixa de opções.
Em o grupo de Código , clique Visual Basic.
O editor do Visual Basic abre.
Em a janela de Projeto , clique duas vezes ThisDocument.
O arquivo de código para o objeto de ThisDocument abre.
Adicione o seguinte código de VBA para o arquivo de código.Esse código define uma função simples que não faz nada.O único objetivo de essa função é garantir que um projeto de VBA existe no documento.Isso é necessário para etapas posteriores em essa explicação passo a passo.
Sub EmptySub() End Sub
Salve a palavra de documento e logout.
Criando o projeto
Agora você pode criar um projeto de um documento nível para palavras que usam o documento que habilitado para macro você criou anteriormente.
para criar um novo projeto
Inicie o Visual Studio
No menu File, aponte para New, e em seguida, clique em Project.Se o seu IDE é configurado para usar configurações de desenvolvimento do Visual Basic, no menu de Arquivo , clique Novo Projeto.
Em o painel de modelos, expanda Visual Basicem seguida, expanda Office/SharePoint.
Selecione o nó de Suplementos do Office .
Em a lista de modelos de projeto, selecione o projeto de Documento do Word 2010 ou de Documento do Word 2013 .
Em a caixa de Nome , digite CallingCodeFromVBA.
Clique em OK.
Visual Studio Tools para Office Project Wizard Abre.
Copiar um documento existenteSelecione e, em seguida, na caixa de Caminho completo do documento existente , especifica o local do documento de DocumentWithVBA que você criou anteriormente.Se você estiver usando seu próprio documento habilitado para macros, especifique o local de este documento em vez de isso.
Clique em Concluir.
Visual Studio abre o documento de DocumentWithVBA no designer e adiciona o projeto de CallingCodeFromVBA a Gerenciador de Soluções.
Confiar no local do documento
Antes de poder expor o código em sua solução ao código de VBA no documento, você deve confiar VBA no documento para executar.Há várias maneiras para fazer isso.Para essa explicação passo a passo, confie o local do documento em Central de Confiabilidade em palavras.
Para confiar no local do documento
Palavras de Início.
Clique na guia de Arquivo .
Clique no botão de Opções do Word .
Em o painel de categorias, clique Central de Confiabilidade.
Em o painel de detalhes, clique Configurações da Central de Confiabilidade.
Em o painel de categorias, clique Locais Confiáveis.
Em o painel de detalhes, clique Adicionar novo local.
Em a caixa de diálogo de Local Confiável do Microsoft Office , navegue até a pasta que contém o projeto de CallingCodeFromVBA.
As subpastas deste local também são confiáveisSelecione.
Em a caixa de diálogo de Local Confiável do Microsoft Office , clique OK.
Em a caixa de diálogo de Central de Confiabilidade , clique OK.
Em a caixa de diálogo de Opções do Word , clique OK.
Sair palavra.
Adicionando um método à classe de ThisDocument
Agora que o projeto de VBA é configurado, adicione um método à classe de item host de ThisDocument que você pode chamar código de VBA.
Para adicionar um método à classe ThisDocument
Em Gerenciador de Soluções, clique com o botão direito do mouse ThisDocument.vb, clique em Exibir Código.
O arquivo de ThisDocument.vb abre na editor de códigos.
Adicione o seguinte método à classe de ThisDocument .Este método cria uma tabela com duas linhas e as duas colunas no início do documento.Os parâmetros especificam o texto que é exibido na primeira linha.Posteriormente em esta explicação passo a passo, você irá chamar este método do código de 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
Crie o projeto.
Expõe o método para o código de VBA
Para expor o método de CreateTable para o código de VBA no documento, defina a propriedade de EnableVbaCallers para o item host de ThisDocument a True.
Para expor o método para o código de VBA
Em Gerenciador de Soluções, clique duas vezes ThisDocument.vb.
O arquivo de DocumentWithVBA abre no designer.
Em a janela de Propriedades , selecione a propriedade de EnableVbaCallers , e altere o valor para True.
Clique OK na mensagem exibida.
Crie o projeto.
Chamando o método do código de VBA
Agora você pode chamar o método de CreateTable de código de VBA no documento.
Observação |
---|
Em essa explicação passo a passo, você adicionará código de VBA ao documento ao depurar o projeto.O código de VBA que você adiciona a este documento será substituído na próxima vez que você criar o projeto, como o Visual Studio substitui o documento na pasta de saída de compilação com uma cópia do documento da pasta do projeto.Se você deseja salvar o código de VBA, você pode copiá-los no documento na pasta do projeto.Para obter mais informações, consulte Combinando o VBA e personalizações em nível de documento. |
Para chamar o método do código de VBA
Pressione F5 para executar o seu projeto.
Em a guia de Desenvolvedor , no grupo de Código , clique em Visual Basic.
O editor do Visual Basic abre.
Em o menu de Inserir , clique em Módulo.
Adicione o seguinte código para o novo módulo.
Esse código chama o método de CreateTable no assembly de personalização.A macro este método acessa usando a propriedade de CallVSTOAssembly do objeto de ThisDocument .Esta propriedade foi gerada automaticamente quando você define a propriedade de EnableVbaCallers anteriormente em este passo-a-passo.
Sub CreateTable() Call ThisDocument.CallVSTOAssembly.CreateTable("Employee Name", "Start Date") End Sub
Pressione F5.
Verifique que uma nova tabela é adicionada ao documento.
Sair palavra sem salvar suas alterações.
Próximas etapas
Você pode aprender mais sobre o código de chamada em soluções do Office de VBA de esses tópicos:
Chamar código em uma personalização visual C# de VBA.Esse processo é diferente do processo do Visual Basic.Para obter mais informações, consulte Passo a passo: Chamar o código do VBA em um projeto do Visual C#.
Chamar código em um suplemento ao nível de VBA.Para obter mais informações, consulte Passo a passo: Chamando o código de um suplemento em nível de aplicativo do VBA.
Consulte também
Tarefas
Como: expor um código VBA em um projeto de Visual Basic
Como: expor um código VBA em um projeto do Visual C#
Passo a passo: Chamar o código do VBA em um projeto do Visual C#