nathalem
Goto Top

Makro von Personal.xlsb ausführen

ich habe ein Makro geschrieben das in der Personal.xlsb liegt und von einem weiteren Makro in einer Excel tabelle ausgeführt werden soll

Ich habe über die Makro aufzeichnen Funktion ein einfaches Makro angelegt das in ein paar Spaltenbreiten anpasst einige Felder färbt und 3 Einträge verändert.
Dieses habe ich "formatierung" genannt.
Wenn ich nun die Datei "ActiveDirectoryExport.xlsx" und das Makro manuell öffne und das Makro ausführe funktioniert es auch wunderbar. Nun möchte ich es aber als Teil eines größeren Programms ausführen.
Dazu habe ich diese VBS geschrieben

Code-----------------------------------
Set oExcel = WScript.CreateObject("Excel.Application")
On Error Resume Next
With oExcel
.Visible = FALSE
Application.DisplayAlerts = False
Set oDoc = .Workbooks.Open("c:\ADDGE\ActiveDirectoryExport.xlsx")
.Run "PERSONAL.XLSB!formatierung"
oDoc.Save
oDoc.Close
.Quit
End With
CodeEnde----------------------------------

Wenn ich diese per Doppelklick oder auch über eine Batch ausführe passiert gar nichts. Es erscheint als auch keine Fehlermeldung
Wenn ich .Visible auf TRUE setze sehe ich wie die Datei aufgeht und sich gleich wieder schließt.
Könnt ihr mir weiterhelfen?

Edit: wenn ich den Close und den Quit befehl wegnehme sehe ich das nach öffnen einfach garnichts passiert

Content-ID: 205856

Url: https://administrator.de/forum/makro-von-personal-xlsb-ausfuehren-205856.html

Ausgedruckt am: 27.12.2024 um 07:12 Uhr

colinardo
colinardo 30.04.2013 aktualisiert um 12:25:01 Uhr
Goto Top
Hallo Nathalem,
die Syntax um ein Makro aus einer anderen Arbeitsmappe aufzurufen sieht so aus:
.Run "'C:\PfadzurDatei\PERSONAL.XLSB'!formatierung"
Um den Pfad zur anderen Excel-Datei müssen einzelne Anführungszeichen verwendet werden wenn die Datei noch nicht geöffnet wurde.

Grüße Uwe
Nathalem
Nathalem 30.04.2013 um 12:36:37 Uhr
Goto Top
Hat funktioniert.
Ich habe nur einen Moment gebraucht um zu bemerkten das ich den Pfad zur Personal.xlsb auch eintragen muss.
Vielen Dank
colinardo
colinardo 30.04.2013 um 14:42:47 Uhr
Goto Top
Dann bitte Beitrag als gelöst markieren, Danke !
Wie kann ich einen Beitrag als gelöst markieren?