PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Evenement Automation Excel BeforeClose
Evenement Automation Excel BeforeClose
Iniciado por CBR, 18,nov. 2019 12:19 - No hay respuesta
Miembro registrado
3 mensajes
Publicado el 18,noviembre 2019 - 12:19
Bonjour,

Cela fait 2 jours que je sèche sur ce problème.
J'ai mis en place sur la classe de pilotage Word une captation de l'évènement Close

https://docs.microsoft.com/fr-fr/office/vba/api/word.document.close(even)

via le code suivant, qui fonctionne très bien :

:m_pautWord>>Documents>>Open(sDocAOuvrir)
:m_Doc= :m_pautWord>>ActiveDocument
AutomationEvénement(Evenement_Close,:m_Doc,"Close") //Se déclenchera si le document est fermé.


Procedure Evenement_Close()
:DocumentFermé = Vrai


J'ai voulu mettre en place la même chose sur ma classe de pilotage Excel , en ayant vu que l'évènement a capter n'était pas Close mais BeforeClose :

https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.beforeclose

J'ai donc mis en place le code suivant :

:m_pautExcel>>Workbooks>>Open(sClasseur)
:m_Excel= :m_pautExcel>>ActiveWorkbook
//On branche l'évènement Close sur le doc en cours
AutomationEvénement(Evenement_Close,:m_Excel,"Workbook_BeforeClose")


Procedure Evenement_Close(Cancel est un booléen)

:DocumentFermé = Vrai

RENVOYER Cancel


Peu importe le nom que je donne à l'évènement "BeforeClose" ,"WorkbookBeforeclose" etc , l'erreur suivante m'est renvoyée :
Vous avez appelé la fonction AutomationEvénement.
L'événement "NomDeLevenement" n'est pas reconnu.


Pourtant je le retrouve bien dans Excel :




Auriez-vous une idée ?

Merci d'avance.