Mit SAS ein VBA-Makro ansprechen

Transcrição

Mit SAS ein VBA-Makro ansprechen
News
Artikel
Foren
Join
Projekte
List
Links
Random
Über Redscope
Previous
Next
Startseite › Foren › SAS-Lösungen
Mit SAS ein VBA-Makro ansprechen
16 January, 2013 - 07:00 — austria_traveller
Hallo Forum,
Ich möchte mit SAS ein VBA-Makro (B2010_alles_aktualisieren) ansprechen. Das selbst ist noch
kein Problem, allerdings darf das Makro dazu nicht ausgeblendet sein. Die Datei, die dem Makro
zugeordnet ist , ist bei mir im xls immer ausgeblendet und da habe ich jetzt das Problem, wie ich im
SAS schreiben soll, dass die Datei in xls sich zuerst einblendet, bevor das Makro ausgeführt wird.
Soweit bin ich bis jetzt:
Options noxwait noxsync;
FILENAME CMDS DDE 'EXCEL|SYSTEM';
Data _null_;
File CMDS;
Put '[RUN("B2010_alles_aktualisieren")]';
Put "[QUIT()]";
run; Quit;
Habt ihr eine Idee ?
Danke & Beste Grüße
Gerhard
Foren:
SAS-Lösungen
Log in or register to post comments
Hallo Gerhard,
16 January, 2013 - 09:04 — Frederik_Bloch
Hallo Gerhard,
was genau meinst du mit "ausgeblendet"? Ist das Workbook nicht aktiv im Vordergrund oder wie
meinst du das?
Gruß Frederik
Log in or register to post comments
Ja, genau das.
16 January, 2013 - 12:17 — austria_traveller
Ja, genau das.
Konnte es aber zwischenzeitlich selbst lösen, indem ich ein zweites vba-Makro gesetzt habe
versehen mit der auto_open Funktion.
Diese steuert mir dann genau das makro an, dass ich eigentlich ausführen möchte.
Dieses zweite Makro kann ich ganz gemütlich von SAS aus ansteuern.
Hoffe ich habe es nicht zu holprig geschrieben.
Beste Grüße
Gerhard
Interesshalber; gibt es im SAS eine Möglichkeit eine nicht im Vordergrund befindliche xls-Datei in
den Vordergrund zu stellen ?
Log in or register to post comments
Ich habe Interesse!
16 January, 2013 - 13:13 — Frederik_Bloch
Hallo Gerhard,
ich habe ebenfalls das Problem und es bisher nur darüber "gelöst", zu verbieten, dass andere
Workbooks geöffnet sein dürfen.
Kannst du mal dein VBA-Macro präsentieren?
Danke!
Gruß Frederik
Log in or register to post comments
Servus Frederik,
18 January, 2013 - 07:01 — austria_traveller
Servus Frederik,
Sorry für die Verspätung, aber bei uns geht's momentan drunter und drüber.
Also du hast ein ausführendes Makro (B2010_alles_aktualisieren).
Dann brauchst du noch ein Makro (auto_open_2010), dass dieses ansteuert. Dafür legst
du eine neue Tabelle an (xlsm)
und schreibst als Makro-Anweisung folgendes rein:
Sub auto_open()
Application.Run "Makro.xls.xlsm!B2010_alles_aktualisieren"
End Sub
Die SAS-Anweisung, die das Makro dann ansteuert ist diese:
Options noxwait noxsync;
/* Falls Excel nicht offen ist, hier die bounds wegnehmen*/
/*
DATA _NULL_;
RC=SYSTEM('START EXCEL');
RC=SLEEP(5);
run;
*/
FILENAME CMDS DDE 'EXCEL|SYSTEM';
Data _null_;
File CMDS;
PUT "[OPEN(""D:\...\auto_open_2010.xlsm"")]";
Put "[QUIT()]";
run; Quit;
lg
gerhard
Log in or register to post comments
Vielen Dank, Gerhard!
Vielen Dank, Gerhard!
Log in or register to post comments
18 January, 2013 - 10:12 — Frederik_Bloch

Documentos relacionados