Como executar múltiplas macros do Access a partir de um aplicativo ou outro banco de dados

    O exemplo abaixo demonstra como podemos executar um acesso de macro de outro aplicativo ou banco de dados usando oAutomação OLE.

    Realizamos as seguintes etapas:

    • vamos criar dois bancos de dados Access chamando-os de TestDB.mdb e TestDB2.mdb
    • no primeiro banco de dados TestDB.mdb, criamos uma macro chamando-a de TestMsg com a seguinte ação: Janela de mensagem "Testar macro"
    • no segundo banco de dados TestDB2.mdb, criamos outra macro chamando-a de TestMsg com a seguinte ação: Janela de mensagem: "Test Macro2"
    • no aplicativo que você vai usar, escolha entre as referências Biblioteca de objetos do Microsoft Access (da versão 8.0 em diante)

    Como executar múltiplas macros do Access a partir de um aplicativo ou outro banco de dados



    Vamos criar o seguinte Sub:

    Sub RunMacroX () Dim objACC As New Access.Application
    Definir objACC = GetObject ("C: TestDB.mdb") 'abrir primeiro banco de dados objACC.DoCmd.RunMacro ("TestMsg")' executar macro objACC.Quit Definir objACC = GetObject ("C: TestDB2.mdb") 'abrir segundo banco de dados objACC.DoCmd.RunMacro ("TestMsg") 'execute a macro objACC.Quit Set objACC = Nothing
    End Sub

     

    Caso você receba um erro como este: "A ação ExecutarMacro foi cancelada. Erro 2501"Ou"A ação RunMacro foi cancelada".


    O erro é devido à existência de uma declaração Exit Macro ou Stop Macro. Se você notar que, mesmo na presença do erro, a macro concluiu sua atividade, você pode muito bem usar oOn Error Resume Next no início de Sub.


    Testado no Office 2003 e Office 2007.

    Adicione um comentário do Como executar múltiplas macros do Access a partir de um aplicativo ou outro banco de dados
    Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.