2015-03-08 2 views
0

J'essaie d'ajouter des rendez-vous à Outlook par programme.L'ajout d'un rendez-vous à Outlook (2013) ouvre l'éditeur de réunion

J'ai exécuté ce code qui s'exécute avec succès mais après avoir enregistré le rendez-vous, l'éditeur de réunions s'ouvre dans Outlook.

AppointmentItem appItem = null; 
       try 
       { 
        appItem = outlookItems.Add(OlItemType.olAppointmentItem) as AppointmentItem; 
        if(appItem == null) 
         continue; 
        appItem.Subject = "Subject"; 
        appItem.MeetingStatus = OlMeetingStatus.olMeeting; 
        appItem.Location = "Location"; 

        appItem.Save(); 
        appItem.Display(true); 

       } 
       finally 
       { 
        if (appItem != null) 
        { 
         Marshal.ReleaseComObject(appItem); 
        } 
       } 

J'ai essayé d'appeler Display (true), Display (false) cela ne fonctionne toujours pas. S'il vous plaît quelqu'un peut-il me dire si je fais quelque chose de mal.

+0

Pourquoi avez-vous besoin d'appeler Display du tout? –

+0

J'ai retiré l'appel à afficher ... l'entrée est nt gettin sauvé .. semble être un problème avec les destinataires ... havent compris une solution encore – Akanksha

+0

Votre code n'ajoute aucun destinataire. –

Répondre

1

Mais vous créez un nouvel élément de réunion dans le code définissant la propriété suivante:

appItem.MeetingStatus = OlMeetingStatus.olMeeting; 

Si vous ne voulez pas voir une nouvelle fenêtre de l'élément (inspecteur), il n'y a pas besoin d'exécuter les éléments suivants ligne de code:

appItem.Display(true); 

le procédé Display affiche un nouvel objet de l'inspecteur de l'élément.

Vous pouvez trouver l'article Getting Started with VBA in Outlook 2010 dans MSDN utile.

0

Si le rendez-vous est de type OlMeetingStatus.olMeeting, les destinataires sont censés être présents.

j'ai changé le type de

appItem.MeetingStatus = OlMeetingStatus.olNonMeeting 

et retiré l'appel à afficher. J'ai été en mesure d'enregistrer le rendez-vous dans le calendrier