2010-04-19 3 views
2

Je dois effectuer une activité lorsqu'un rendez-vous (ou une réunion) est enregistré. Ce que je veux, c'est une fois que l'utilisateur a rempli les informations et clique sur 'envoyer', Outlook le fait et mon code s'exécute une seule fois.Outlook AppointmentItem Write Event - combien de fois est-il exécuté?

Cependant ce que je trouve, c'est que l'événement d'écriture se produit plusieurs fois - au moins deux fois, parfois plus (par exemple dans les mises à jour). Dans le cas où c'est un problème pour moi, c'est que j'ai un objet qui doit être mis à jour avant d'être sérialisé, et je ne veux pas faire la mise à jour et la sérialisation plusieurs fois.

Quelqu'un a-t-il déjà rencontré ce problème, et existe-t-il un meilleur moyen de le faire que d'utiliser appointmentitem.write?

Répondre

4

Cela vous semble vouloir capturer l'événement d'envoi du rendez-vous, ou créer une propriété d'utilisateur dans l'élément qui a été traité s'il a été traité, puis vérifier cela à chaque sauvegarde.

Marcus

AJOUTÉE

 Outlook.ItemEvents_Event _apptEvents = (Outlook.ItemEvents_Event)ai; 
    _apptEvents.Send += new Outlook.ItemEvents_SendEventHandler(_itemClass_ItemEvents_Event_Send); 
+0

Ok je vais donner un coup que, mais comment puis-je capturer l'événement d'envoi? il y a une méthode Send(), mais je ne suis pas sûr de savoir comment capturer l'événement send. Utiliser le même code que capturer l'événement write, par exemple, me donne un avertissement et une erreur qu'il utilise le groupe de méthode, plutôt que l'événement: Erreur: Impossible d'affecter 'Send' car c'est un 'groupe de méthode' Avertissement: L'ambiguïté entre la méthode 'Microsoft.Office.Interop.Outlook._AppointmentItem.Send()' et la non-méthode 'Microsoft.Office.Interop.Outlook.ItemEvents_10_Event.Send'. Utilisation du groupe de méthodes – Marcin

+0

Quelle version de Outlook utilisez-vous? l'événement 2007 d'envoi d'application http://msdn.microsoft.com/en-us/library/bb175136(v=office.12).aspx – 76mel

+0

Salut, ouais j'utilise 2007 - je sais que l'événement d'envoi est là, mais quand je essayer d'ajouter un gestionnaire, il me donne l'erreur comme indiqué ci-dessus. Toutes les idées comment je le force à utiliser l'événement - la ligne de code qui est le problème ici est: ai.Send + = new Microsoft.Office.Interop.Outlook.ItemEvents_10_SendEventHandler (ai_Send); Merci, M – Marcin

Questions connexes