NESTA TAREFA

Sumário

No Visual Basic Editor do Microsoft Word, você pode criar referências a bibliotecas de objeto ou código em um documento externo ou um modelo. Isso permite que você chamar procedimentos externos como se tivessem sido escritas em seu próprio projeto. Observe que problemas podem ocorrer se os arquivos de referência são movidos ou corrompidos. Podem ocorrer erros de armazenamento de macro e a caixa de diálogo referências pode se tornar inacessível.Este artigo descreve como criar referências a outros projetos (VBA) da Microsoft Visual Basic for Applications, como verificar se as referências estão corretas e como remover programaticamente referências incorretas.Conhecimento prévio necessário:

  • Habilidades básicas de programação VB/VBA

  • Habilidades básicas do Microsoft Office

  • Conhecimentos do Windows Explorer

Neste artigo, você deve usar o Editor do Visual Basic para demonstrar como:

  • Crie uma referência ao seu projeto do VBA personalizado.

  • Escreva código para verificar se existe a referência.

  • Escreva código para remover uma referência incorreta.

  • Escreva código para adicionar a referência de volta.

Defina as permissões de segurança de projeto

  1. No Microsoft Word, no menu Ferramentas , aponte para Macroe, em seguida, clique em segurança para exibir a caixa de diálogo de segurança .

  2. Na guia Nível de segurança , defina o nível de segurança para Médio, para que você tenha a opção de ativar as macros.

  3. Na guia Fontes confiáveis , verifique se a caixa de seleção Confiar no acesso ao projeto do Visual Basic é selecionada. Isso permite que você use código do VBA em seus projetos.

  4. Clique em OK.

No Word 2007, siga estes passos:

  1. Na guia desenvolvedor , clique em Segurança de Macro no grupo de código .

  2. No painel esquerdo, clique em Configurações de Macro.

  3. No painel direito, clique em Habilitar todas as macrose, em seguida, clique para selecionar a caixa de seleção Confiar no acesso ao modelo de objeto do projeto do VBA .

  4. Clique em OK.

Criar a referência de projeto

Você criará um projeto que contém um procedimento e, em seguida, crie uma referência para o projeto de um novo projeto do VBA.Para criar o arquivo de biblioteca:

  1. Criar um novo documento no Microsoft Word e salve-o como um modelo, siga estas etapas:

    1. No menu arquivo , clique em Salvar como para exibir a caixa de diálogo Salvar como .Observação: No Word 2007, clique no Botão do Microsoft Officee, em seguida, clique em Salvar como.

    2. Altere a caixa nome do arquivo para Refme.

    3. Altere a caixa Salvar como tipo paraModelo de documento (*. dot).Observação: No Word 2007, altere a caixa Salvar como tipo paraModelo do Word 97-2003 (*. dot)

    4. Salve o modelo na pasta "C:\TestFiles" (você precisa criar a pasta, se ele não existir).

  2. Pressione ALT + F11 para iniciar o Editor do Visual Basic.

  3. No Project Explorer, seleccione o TemplateProject (Refme). No menu Inserir , clique em módulo. Adiciona um novo módulo chamado "Module1" ao projeto.

  4. Na janela código, digite o seguinte código para Module1:

    Public Sub CallMe()  Msgbox "Hello World!"End Sub
  5. Clique no procedimento sub e, em seguida, no menu Executar , clique em Executar Sub/UserForm. Será exibida uma caixa de mensagem "Hello World!". Feche esta caixa de mensagem.

  6. No menu Exibir , clique em Microsoft Word (ALT + F11) para retornar ao Word.

  7. No Word, salve e feche o arquivo de modelo.

Para criar a referência:

  1. No Word, crie um novo documento e salve-o como "Myproj.doc" na pasta "C:\TestFiles".

  2. Inicie o Editor do Visual Basic (pressione ALT + F11). No Project Explorer, selecione o projeto (MeuProjeto).

  3. Crie uma referência para o modelo Refme da seguinte forma:

    1. No menu Ferramentas , clique em referências.

    2. Na caixa de diálogo referências , clique em Procurar.

    3. Na caixa de diálogo Add Reference , defina arquivos do tipo para documentos do Word (*. doc; *. dot).Observação: No Word 2007, defina arquivos do tipo documentos do Word (*. docm; *.dotm.doc; *. dot).

    4. Na pasta "C:\TestFiles", selecione o modelo Refme .

    5. Clique em Abrir para retornar à caixa de diálogo Referências.

    6. Clique em Okey para retornar para o Editor do Visual Basic.

  4. No Project Explorer, expanda o projeto (MeuProjeto). Expanda referências e verifique se a lista de referência inclui a referência a Refme.dot.

  5. No menu Inserir , clique em módulo para inserir um novo módulo no projeto. Escreva o seguinte código no módulo para chamar o procedimento CallMe:

    Public Sub Test()  Call CallMeEnd Sub
  6. Teste o procedimento para verificar se ele funciona e, em seguida, retornar ao Word.

  7. Salvar e fechar o arquivo do documento e, em seguida, feche o Word.

Verificar programaticamente a referência de projeto

Você agora deliberadamente quebrar sua referência e, em seguida, verificar a precisão de referência.Para quebrar a referência:

  1. No Windows Explorer (clique com botão direito no menu Iniciar do Windows e, em seguida, clique em explorar no menu de atalho), altere o nome do modelo Refme.dot para "Refme.old". Para fazer isso, clique com o botão Refme.dot e, em seguida, clique em Renomear no menu de atalho. Digite refme.old e pressione ENTER.

  2. Retornar para o Word e, em seguida, reabrir o documento "Myproj.doc".

  3. Porque o nível de segurança estiver definido como Médio, você será solicitado se você deseja habilitar ou desabilitar as macros neste documento. Clique em Ativar Macros.Observação: Esse comportamento não ocorre no Word 2007.

  4. Inicie o Editor do Visual Basic (pressione ALT + F11) e, em seguida, execute o procedimento de teste. Clique em Okey , a seguinte mensagem de erro de compilação:

    Não é possível encontrar o projeto ou biblioteca

  5. Você deve estar no modo de interrupção (há uma faixa amarela em toda a linha de Sub). No menu Executar , clique em Redefinir para retornar ao modo de Design.

  6. No menu Ferramentas , clique em referências para exibir a caixa de diálogo References . Você verá que o Refme.dot é marcado como "ausente".

  7. Clique em Cancelar para fechar a caixa de diálogo referências .

Para verificar programaticamente referências ausentes:

  1. No Project Explorer, selecione o projeto (MeuProjeto).

  2. No menu Ferramentas , clique em referências e adicione uma referência para o Microsoft Visual Basic for Applications Extensibility 5.3 biblioteca. Esta biblioteca contém objetos que se referem a projetos do VBA.

  3. Antes de clicar em Okey, você deve verificar se a nova referência é adicionada acima a referência "ausente". Clique na seta várias vezes para alterar a prioridade, mover a nova referência acima a referência "ausente" e, em seguida, clique em Okey.

  4. No módulo, crie um novo procedimento sub chamado "CheckReference" e, em seguida, escreva o seguinte código:

    Sub CheckReference()   Dim vbProj As VBProject ' This refers to your VBA project.   Dim chkRef As Reference ' A reference.   ' Refer to the activedocument's VBA project.   Set vbProj = ActiveDocument.VBProject   ' Check through the selected references in the References dialog box.   For Each chkRef In vbProj.References      ' If the reference is broken, send the name to the Immediate Window.      If chkRef.IsBroken Then         Debug.Print chkRef.Name      End If   NextEnd Sub
  5. No menu Exibir , clique em Janela imediata (CTRL + G) para abrir a janela Verificação imediata.

  6. Execute o procedimento de sub-rotina CheckReference. O nome e o local do arquivo é exibido na janela Verificação imediata.

Remova e reinstale a referência de projeto

Esta seção descreve como remover e reinstalar uma referência através de programação.Para remover uma referência ausente:

  1. No procedimento sub CheckReference, altere a instrução Debug da seguinte maneira. Isso remove quaisquer referências ausentes do seu projeto:

       vbProj.References.Remove chkRef
  2. Execute o procedimento CheckReference.

  3. Verifique se a referência foi removida na caixa de diálogo referências (no menu Ferramentas , clique em referências).

Restabelecer (Adicionar) uma referência:

  1. No Windows Explorer, renomeie Refme.old para "Refme.dot".

  2. Retorne ao projeto MeuProjeto no Editor do Visual Basic no Word.

  3. Escreva um novo procedimento sub chamado "Adicionar referência" da seguinte maneira:

    Sub AddReference()   Dim vbProj as VBProject   Set vbProj = ActiveDocument.VBProject   vbProj.References.AddFromFile "C:\TestFiles\Refme.dot"End Sub
  4. Execute o procedimento de adicionar referência.

  5. Verifique se que a referência ao Refme.dot foi restabelecida. Você pode exibir referências no Project Explorer ou clique em referências no menu Ferramentas .

Solução de Problemas

  • Se você faz referências a um arquivo do aplicativo nativo, você deve manter a extensão de arquivo nativo. Caso contrário, você pode ter problemas ao usar a referência. Para ver esses problemas, tente fazer uma referência ao arquivo Refme.old em vez do arquivo Refme.dot no exemplo neste artigo.

  • Se você estiver trabalhando com um componente registrado, você pode adicionar uma referência GUID para seu projeto. Use o método AddFromGUID para fazer isso.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.