Question

Je travaille sur un complément VSTO Outlook 2007 qui synchronise essentiellement les données Outlook avec le service Web. Il existe trois types de synchronisation que je souhaite avoir dans l'application: la synchronisation au démarrage, la synchronisation manuelle et la synchronisation à l'arrêt. Les deux premiers sont simples et sont déjà terminés.

Toutefois, je ne parviens pas à trouver l'événement approprié à déclencher pour gérer ma synchronisation à l'arrêt. J'ai essayé de me connecter aux deux événements suivants, mais il semble qu'ils soient déclenchés trop tard lorsque le complément n'a pas accès aux données Outlook et que cela ne fonctionne tout simplement pas:

  • ((Outlook.ApplicationEvents_Event)Application).Quit (celui-ci est déclenché en premier, mais il est déjà trop tard pour accéder aux collections de données Outlook et les mettre à jour)
  • ThisAddIn.Shutdown (celui-ci se déclenche après Quit, donc ce n'est pas bien non plus)

Existe-t-il d'autres événements déclenchés avant ceux sur Outlook Outlook que je pourrais utiliser? Ou peut-être que quelqu'un connaît un autre moyen de gérer la synchronisation à l'arrêt dans le complément Outlook?

Était-ce utile?

La solution

Explorer.Close () et Inspector.Close () se déclenchent avant Application.Quit () - vous pouvez y vérifier:

  • Dans Explorer.Close (): Application.Explorers.Count < = 1 et Application.Inspectors.Count == 0
  • Dans Inspector.Close (): Application.Explorers.Count == 0 et Application.Inspectors.Count < = 1

Si tel est le cas, Outlook se ferme et vous pouvez déclencher vos événements. N'oubliez pas que Outlook peut également être lancé sans fenêtre (automatisation, etc.) si cela vous pose problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top