Je travaille sur mon plugin et face au prochain problème: il semble que MeetingItems fonctionne différemment, puis MailItems.VSTO Outlook envoyer MeetingItem de Brouillons
Ce que je dois faire:
- Enregistrer MeetingItem aux courants d'air avant qu'il ne soit envoyé.
- Ajouter une pièce jointe.
- Envoyez-le.
1 Pour enregistrer MeetingItem aux courants d'air:
(Item as MeetingItem).GetAssociatedAppointment(false).GetInspector.Close(OlInspectorClose.olSave);
Il fonctionne.
2. Ajouter une pièce jointe.
Attaches = (Item as MeetingItem).GetAssociatedAppointment(false).Attachments;
Attaches.Add(...).
Cela fonctionne également.
3. Envoyer un courrier électronique.
Try1:
(Item as MeetingItem).Send(); << it doesn't work.
Try2:
AppointmentItem appItem = Item.GetAssociatedAppointment(false);
appItem.Send(); << It works. But MeetingItem is still in drafts folder (???)
Item.Delete(); << Moved to deleted folder, and can't delete permanently.
Il pense au 3ème étape que je fais quelque chose de mal. Savez-vous comment envoyer MeetingItem correctement?
Mise à jour:
Lorsque j'envoie MeetingItem, Outlook me demande "Est-ce que vous souhaitez mettre à jour votre agenda dès maintenant". Si j'appuie sur yes, alors le callback Application_ItemSend n'est pas du tout appelé, donc je ne peux pas ajouter ma pièce jointe. Je suis confus ce qui se passe là-bas.
Mise à jour 2:
Il semble que quand j'ajoute l'attachement déjà des messages entrants, alors je devrais utiliser
(Item as MailItem).Attachments.Add(...)
mais quand je suis l'envoi du courrier, je utiliser
(Item as MailItem).GetAssociatedAppointment(false).Attachments.Add(...)
Il est déroutant.