Come eseguire più Macro Access da un’applicazione o un altro database
L’esempio sottostante vi dimostra come possiamo eseguire una Macro Access da un’altra applicazione o database usando l’OLE Automation.
Eseguiamo i seguenti passi:
- creiamo due database Access chiamandoli TestDB.mdb e TestDB2.mdb
- nel primo database TestDB.mdb creiamo una macro chiamandola TestMsg con la seguente azione: Finestra Messaggio “Test Macro”
- nel secondo database TestDB2.mdb creiamo un’altra macro chiamandola TestMsg con la seguente azione: Finestra Messaggio: “Test Macro2”
- nell’applicazione che userete scegliete tra i riferimenti Microsoft Access Object Library (dalla versione 8.0 in poi)
Creiamo la seguente Sub:
Sub RunMacroX() Dim objACC As New Access.Application
Set objACC = GetObject("C:\TestDB.mdb") 'open first database objACC.DoCmd.RunMacro ("TestMsg") 'run macro objACC.Quit Set objACC = GetObject("C:\TestDB2.mdb") 'open second database objACC.DoCmd.RunMacro ("TestMsg") 'run macro objACC.Quit Set objACC = Nothing
End Sub
Nel caso in cui otteniate un Errore del genere: “L’azione RunMacro è stata annullata. Errore 2501” o “The RunMacro action was canceled“.
L’errore è dovuto all’esistenza di una dichiarazione di Esci dalla Macro oppure Arresta Macro. Se notate che, anche in presenza dell’errore la macro ha completato la sua attività, potete benissimo usare l’On Error Resume Next a inizio Sub.
Testato su Office 2003 e su Office 2007.
Alla Prox.
Se volete seguire i post di www.informarea.it potete iscrivervi al suo feed RSS.
Segui Informarea |