nachdem ich mich in letzter Zeit vermehrt mit PowerQuery beschäftigte gab es heute mal wieder Gelegenheit VBA in Excel zu programmieren. Der Code in Excel läuft auch. Er kommuniziert mit MS Word. Um das Konstrukt noch weiter zu verbessern möchte ich den VBA Code in Excel auch aus Word heraus aufrufen können. Hierzu habe ich mir ein paar meiner alten Beispiele angesehen und auf herber.de stackoverflow und computerbase recherchiert. Die umgekehrte Richtung 'Word Makro aus Excel aufrufen' wird oft diskutiert, aber ich habe die Gegenrichtung 'Excel Makro aus Word aufrufen' nicht zum Laufen bekommen.
Dies ist der Word VBA Code:
Sub CallExcel()
Dim xlApp As Object
'Set xlApp = CreateObject("Excel.Application")
'xlApp.Run "C:\_SGQMS\1 Temp\Test.xlsm!modTools.Test"
Set xlApp = GetObject(, "Excel.Application")
xlApp.Run "Test.xlsm!.modTools.Test"
Set xlApp = Nothing
End Sub
Der aufzurufende Code in der schon geöffneten Excel Datei ist dieser (nur ein kleiner Debug.Print): https://www.herber.de/bbs/user/154511.xlsm
Excel läuft bereits, daher habe ich 'GetObject' verwandt. Auch die Datei 'Test.xlsm!' ist immer offen. Insgesamt hatte ich drei verschiedene Fehlermeldung, die letzte war nun 'Aufruf wurde durch den Aufgerufenen abgelehnt'. Ich habe es nicht geschafft diese Fehlermeldung zielführend zu interpretieren und den Code zum Laufen zu bekommen.
Da ich denke, daß diese beiden MS Produkte in beide Richtungen in ihren VBA Codes kommunizieren können, würde ich mich sehr freuen, wenn mich ein erfahrener Forumsteilnehmer mir die korrekte Richtung für einen funktionierenden Aufruf aufzeigt.
Vielen Dank & Grüße, Andreas Hanisch