SAP Jobsuche bei DV-Treff
blownlightbulb
vor 5 Jahre
Hallo,

ich möchte aus einen GUI Skript Excel öffnen und dann in Excel ein Makro ausführen.

Das SAP Skript funktioniert, über dieses die exportierte Excel Datei zu öffnen auch, aber mit dem Makro aus meiner Personal.xslb klappt es leider nicht.

dim e
set e = createobject("Excel.Application")

e.visible = true
e.workbooks.open "C:\Users\xxx\Desktop\heavy.xls"

CALL ZeroPicks_fuer_Mail
'CALL PERSONAL.xlsb!ZeroPicks_fuer_Mail
' Application.Run "PERSONAL.xlsb!ZeroPicks_fuer_Mail"
,

diese Varianten habe ich probiert - keine funktioniert!

Was mich wundert ist, dass ich das Makro auch nicht manuell ausführen kann → also wenn das Skript die Excel Datei öffnet, ist kein Makro auswählbar, obwohl sie ja in der personal.xlsb gespeichert sind

jemand eine Idee?

Vielen Dank

Förderer

ScriptMan
vor 5 Jahre
Hallo,

das Problem könnte darin liegen, dass zu dem Zeitpunkt zwei unterschiedliche Excel-Sitzungen geöffnet sind. Um es zu verhindern, könnte z.B. helfen, wenn man an einer geeigneten Stelle statt dem Kommando

set e = createobject("Excel.Application")

dieses Kommando


set e = GetObject(,"Excel.Application")

implementiert.

Grüße, ScriptMan

blownlightbulb
vor 5 Jahre
Vielen Dank, das funktioniert, aber jetzt kommt natürlich der nächste Fehler

ich versuche dann das Makro über Call bzw Application.Run auszuführen, aber beides klappt nicht

Bei Call Personal.xlsb!.... funktioniert nicht durch den Punkt

Application.Run bringt eine Fehlermeldung "Das Objekt unterstützt diese Eigenschaft oder Methode nicht"

Eine Idee wie ich das Makro sonst aufrufen kann?

Und vielen Dank für deine Hilfe

PS gibt es gute Literatur zum GUI Skripting? habe nichts gefunden

ScriptMan
vor 5 Jahre
Wie wäre es damit?


e.Run "PERSONAL.xlsb!ZeroPicks_fuer_Mail"

Grüße, ScriptMan

P.S. Es gibt nicht viel aber einiges schon.

z.B.

http://www.synactive.com/download/sap%20gui%20scripting/sap%20gui%20scripting%20userguide.pdf