Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro aus anderem Office starten...

Makro aus anderem Office starten...
Ximena
Hi, ich schon wieder ;)
Also wie schon gesagt, ich schreibe eine Word Makro, aber da Excel und Word ähnlich sind, hat es bis jetzt immer geklappt. Ausserdem bekomme ich hier die kompetentesten Antworten :D
Ich habe eine Word-Makro, die unter anderem ein Excelfile öffnet. In diesem Excelfile hat es zahlreiche Makros und meine Word-Makro soll eine Makro nach der anderen laufen lassen.
Das Excel kann ich öffnen, aber ich kann die Makro nicht zum laufen bringen...
Dim objXLS As Object
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = spath
.title = "Select the current SLR PPT from IBM"
.AllowMultiSelect = False
.Filters.Add "Excel", "*.xlsm"
If .Show = -1 Then
myFile = .SelectedItems(1)
End If
End With
Set objXLS = CreateObject("Excel.application").Workbooks.Open(myFile)
objXLS.Application.Visible = True
Das ist der code zum öffnen des Excels...
Meine Makro heisst "InventoryReport", deshalb hab ich folgendes probiert:
objXLS.Run "'MACROS for the SCC SLR.xlsm'!InventoryReport"
'oder auch
objXLS.Run myFile & "!InventoryReport"
'oder auch
objXLS.Run myFile & "!" & "InventoryReport"
Aber nichts funktioniert.... Immer kommt eine fehlermeldung...
Ich weiss, es gibt zahlreiche Beiträge über das Öffnen einer Makro aus einem anderen Programm, aber irgendwie finde ich nicht das passende...
Wäre froh um eure Hilfe
Liebe Grüsse
Ximena
AW: Makro aus anderem Office starten...
23.05.2012 11:22:30
xr8k2
Hallo Ximena,
objXLS ist dein Workbook ... .Run ist eine Methode des Application-Objektes:
objXLS.Application.Run "InventoryReport"
Gruß,
xr8k2
AW: Makro aus anderem Office starten...
23.05.2012 11:34:16
Ximena
Hallo xr8k2
Aha xD naja gut... Es funktioniert insofern, dass es mir nicht mehr dieselbe Fehlermeldung gibt.
Dafür steht jetzt:
Cannot run the macro 'InventoryReport'. The macro may not be available in this workbook or all macros may be disabled.
Will sie damit sagen, dass ich zuerst auf den Knopf "Enable macros" klicken müsste?!
Liebe Grüsse
Ximena
AW: Makro aus anderem Office starten...
23.05.2012 11:48:53
xr8k2
Hallo Ximena,
die Meldung besagt, das entweder dein Makro "InventoryReport" nicht gefunden wird oder eben das die Ausführung von Makros nicht gestattet ist.
Auch hier kann ich dir leider nicht wirklich weiterhelfen, da sich hier glaub ich die Verfahrensweise mit der Makrosicherheit im Office2010 grundlegend von der im Office2003 unterscheidet.
In meinem Office2003 funktionierts und es gbt auch keine Nachfragen zum Ausführen von Makros beim Öffnen der des Excelfiles.
Gruß,
xr8k2
Anzeige
Makro aus anderem Office starten... OFFEN!
23.05.2012 11:54:57
Ximena
Hallo xr8k2
Also das Makro existiert ;) das weiss ich! Denn ich habs ja selbst geschrieben. Nun gut, dann muss ich jetzt eben weiter ausprobieren...
Danke für deine Hilfe :D
Vielleicht meldet sich ja noch jemand xD
Liebe Grüsse
Ximena
Herausgefunden!
23.05.2012 11:58:51
Ximena
Hallo xr8k2
Ich habs!
objXLS.Application.Run "VBAProject.InventoryReport.InventoryReport"
Ich muss nicht nur die Makro, sondern in welchem Project und natürlich heisst das Sub ja gleich wie meine Makro, aber das kann er ja nciht wissen!
Es funzt :D
Liebe Grüsse
Ximena
AW: Makro aus anderem Office starten... OFFEN!
23.05.2012 12:03:34
Dirk
Hallo!
Habe leider nur eine englische eExcel-Version.
Gehe mal in die Excel Options, waehle "Trust Center' und dann 'Trusted Locations'.
Da legst Du dann den Pfad zu Deiner Excel-Datei mit den Macros ab.
Danach sollte der Aufruf der Macros vob z.B. Word funktionieren.
Lass' hoeren, ob ok.
Gruss
Dirk aus Dubai
Anzeige
Danke und neue Frage an Dirk aus Dubai :D
23.05.2012 12:06:17
Ximena
Hallo Dirk aus Dubai :)
Ich habe die Lösung schon gefunden. Es lag gar nicht an der Sicherheit, sondern an der Angabe der Makro. Ich habe sie zu wenig spezifiziert :D
Mein Excel ist auch auf english :D
Weisst du eventuell auch, ob es möglich ist Variablen an Makros weiterzugeben?
Also weisst du ich rufe ja jetzt durch Word eine Excel Makro auf. In meiner word makro muss man ein UserForm ausfüllen (monat und jahr). Für meine Excel Makro brauche ich auch Monat und Jahr. Kann ich irgendwie die beiden Monat und Jahr Variablen aus dem Userform an meine Makro im Excel weitergeben?
Liebe Grüsse Ximena
Anzeige
AW: Danke und neue Frage an Dirk aus Dubai :D
23.05.2012 12:48:10
xr8k2
Hallo Ximena,
auch wenn ich nicht Dirk heiße ... ich bin einmal involviert ;-)
Deklariere deine Variablen als Parameter in der Excel-Prozedur:
Sub InventoryReport(Monat As Long, Jahr As Long)
MsgBox Monat & "/" & Jahr
End Sub
Im Word rufst du deine Excel-Sub dann unter Angabe der Parameter auf:
objx.Application.Run "VBAProject.InventoryReport.InventoryReport", 5, 2012
Gruß,
xr8k2
Du bist der Beste :D
23.05.2012 12:59:30
Ximena
Hallo xr8k2
Ja wenn dus weisst kannst du gerne schreiben, auch wenn du ned Dirk heisst :P
uuuuund.... du hast es gewusst xD denn es funktioniert endlich :D thanks a lot!
Liebe Grüsse
Ximena
Anzeige
Parameterübergabe an Makro
23.05.2012 12:50:31
EtoPHG
Hallo Ximena,
 Application.Run "VBAProject.InventoryReport.InventoryReport", DeinVariableMonat, DeineVariableJahr

natürlich muss dann deine InventoryReport diese Input-Parameter auch entgegennehmen können, also
Sub  InventoryReport(inpMonat, inpJahr)

Gruess Hansueli
AW: Parameterübergabe an Makro - funktioniert!
23.05.2012 13:00:09
Ximena
Hallo Hansueli
Auch dir danke für die Antwort. Es funktioniert :D
Liebe Grüsse
Ximena

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige