auszuführen Ich versuche, ein Access Macro von Excel auszuführen. Ich habe einen Verweis auf Microsoft Office 14.0 Access-Datenbank-Engine-Objektbibliothek festgelegt. Jetzt versuche ich ein kleines Skript wie dieses zu starten.Versucht, Access-Makro von
Sub RunAccessMacro()
Dim strDatabasePath As String
Dim PathToDB As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
PathOfDatabase = ThisWorkbook.Worksheets("Updates").Range("PathToAccess")
Set db = DAO.DBEngine.OpenDatabase(PathOfDatabase)
Set qry = db.Execute("Macro_Run_Key")
qry.Close
db.Close
MsgBox "Done! All processes complete!!"
End Sub
Das Problem ist, führen die db.Execute nicht das Makro. Ich sehe nicht einmal etwas wie RunMacro oder wie es heißt.
Es muss ein Weg, dies zu tun, richtig.
Danke Scott und danke Erik. Ich habe beide Lösungen ausprobiert, und mit jedem bekomme ich diese Nachricht: Microsoft wartet auf eine andere Anwendung, um eine OLE-Aktion abzuschließen Die Nachricht erscheint nach etwa 4-5 Minuten. Die folgende Codezeile wirft die Dinge ab: .DoCmd.RunMacro Irgendwelche Gedanken? Ich habe ein paar andere Ideen ausprobiert, bevor ich meine Frage gepostet habe. Das Ergebnis ist immer das Gleiche. – ryguy72
Sie haben wahrscheinlich ein Problem mit dem Makro, das eine Benutzerinteraktion erfordert. Haben Sie das Makro mit Set Warnungen auf false geöffnet? Wenn Sie Ihr Makro durch ein einfaches 'Set Warnings False, SQL CREATE TABLE A ausführen 'ersetzen, funktioniert es? –