VBA Tipp: Ein Makro aus Access in Excel starten

Aus DBWiki
Wechseln zu: Navigation, Suche

Aufgabenstellung

Ich möchte aus Access, zum Beispiel aus Formatierungszwecken, ein Makro in Excel starten. Hier eine Möglichkeit mit Verweis auf die Object Library (als Referenz muss die Microsoft Excel Object Library aktiviert sein).

Lösung

Sub StarteExcelMakro()
 
   Dim objExcel As Excel.Application
   Dim wb As Excel.Workbook
 
   Set objExcel = New Excel.Application
   Set wb = objExcel.Workbooks.Open("c:\EinPfad\EineDatei.xlsm")
 
   objExcel.Visible = True     'falls gewünscht (für den genannten Zweck, wenig sinnvoll)
   objExcel.Run "EinMakro"
   wb.Close saveChanges:=True  'muss man abschätzen
   objExcel.Quit
 
End Sub

Alternative

Als Variante ohne Microsoft Excel Object Library Referenz bietet es sich wie folgt an:

Sub StarteExcelMakro()
 
   With GetObject("c:\EinPfad\EineDatei.xlsm")
      .Application.Run "EinMakro"
      .Close
   End with
 
End Sub