Bonjour,
Je voudrais savoir s'il est possible d'exécuter un programme VBA enregistré dans un fichier ACCESS depuis SAS.
Merci
Bonjour,
Je voudrais savoir s'il est possible d'exécuter un programme VBA enregistré dans un fichier ACCESS depuis SAS.
Merci
Les balises code
FAQ SAS
Rubrique SAS
Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.
Bonjour Fafabzh6,
Il me semble que c'est possible en utilisant le DDE.
Le DDE est un lien générique vers les applications MS OFFICE (word, excel, access, outlook) permettant à des logiciels (ici SAS) de contrôler les objets via des commandes spécifiques.
C'est un peu technique et l'inconvénient c'est que les commandes sont suceptible de changer d'une version à l'autre, d'une langue à l'autre etc ...
Avec SAS le principe est le suivant :
-> on ouvre Access, soit normalement, soit avec la commande X :
ce code implique que le chemin : "C:\Program Files\Microsoft Office\OFFICE11" se trouve dans la variable d'environnement PATH de windows.
Code : Sélectionner tout - Visualiser dans une fenêtre à part x "MSACCESS.EXE";
-> on créé un lien DDE avec un filename :
-> on execute des commandes DDE avec SAS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part filename cmd dde "MSACCESS.EXE|system";
Ici j'ouvre une base de données, après pour lancer une macro faut chercher un peu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 data _NULL_; file cmd; put '[OpenDatabase "C:\chemin\base.mdb"]'; run;
Faut regarder la commande DDE associée. Dans google, ACCESS DDE MACRO on doit trouver des trucs.
Je regarde ça
Steel
Pour lancer une macro appelé "Macro1" :
Ici on ouvre la base de données et on lance la macro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 data _NULL_; file cmd; put '[OpenDatabase "C:\chemin\base.mdb"]'; put '[runmacro "Macro1"]';run;
Donc pour exécuter du VBA, il faut créer, sous access, une macro qui lance le code VBA.
Ensuite lancer la macro avec SAS ... c'est clair ?![]()
2 steelspirit : qu'est-ce que c'est ce langage des fichiers cmd que tu utilises ? C'est le command.com standard qui traite tout ça ?!
J'ai essayé de retrouver sur le net la liste des commandes disponibles, j'ai pas réussi.
Partager