Dire a access d'attendre que la macro excel qu'il a lancé se finisse

Astarus Messages postés 5 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 14 novembre 2003 - 14 nov. 2003 à 09:20
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 14 nov. 2003 à 11:18
Bonjour tout le monde,

Tout d'abord une question.... avez-vous remarqué que c'est toujours les questions dont vous avez besoin de la réponse auxquelles il n'y en a jamais.

Alors je vais me permettre de poser une question qui devrait en intéresser plus d'un.

Depuis access j'ouvre un fichier excel. Je lance la macro contenue dans ce fichier excel.

Le problème est qu'il faut absolument que cette macro lancée par access soit finie avant que la suite du code ne s'exécute.

Help....please !!

Merci à tous...A+

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 nov. 2003 à 11:18
Il va te falloir implementer de la comm interprocess, API win32.
Appelle chez Access:
levt = CreateEvent(0, 1, 0, "AttendExcel")
ICI call macro Excel
WaitForSingleObject(levt, dwMilliseconds)
OU alors: WaitForSingleObject(levt, INFINITE)
ATTENTION que avec 2eme solution, SI Excel plante ben toi aussi.
ICI suite du code Access car Excel a fini
CloseHandle(levt)
FINI pour Access

PASSONS chez EXCEL:
levt = OpenEvent(0, 0, "AttendExcel")
ICI code macro et en finale
SetEvent(levt)
Ainsi Access recoit signal et sort de WaitForSingleObject

Pour plus de details voir MSDN.
BruNews, ciao...
0
Rejoignez-nous