2016-05-04 2 views
0

Je travaille sur un projet dans lequel j'ai besoin d'accéder d'une manière ou d'une autre au contenu d'une table incorporée dans une invitation Outlook par programme. Si c'était dans un email, je traiterais un objet de la classe "MailItem" et je pourrais appeler HTMLBody et utiliser les balises "table" pour obtenir le contenu. Cependant, à ma connaissance, aucune fonctionnalité similaire n'existe pour les objets "AppointmentItem". Je sais qu'il y a la fonction "RTFBody" pour MailItems, mais je ne sais pas comment obtenir le contenu de la table en utilisant RTF et Google n'est pas très utile sur ce front. Pour mes besoins, la table dans l'invite Outlook peut être un objet feuille de calcul Excel incorporé ou simplement une table que vous pouvez insérer en allant dans Insérer | Table. Mon objectif final est d'obtenir le contenu des tables intégrées dans un calendrier d'équipe partagé et de les envoyer vers une feuille de calcul Excel dans laquelle j'ai construit un tableau de bord des réunions de mon équipe. Le contenu des tables intégrées dans les invites Outlook sur le calendrier de l'équipe contient des points de données que j'aimerais afficher de manière dynamique dans le tableau de bord.Comment accéder par programme au contenu d'une table dans un rendez-vous Outlook

Toute aide serait grandement, grandement appréciée - Merci!

+0

est-ce pas la même question posée: http://stackoverflow.com/questions/37014913/htmlbody-workaround-for-olappointment-object? En outre, il semble qu'il existe une autre utilisation ayant le même problème ici (juste maintenant): http://stackoverflow.com/questions/37025009/vba-outlook-appointment#comment61615861_37025009 Peut-être que vous pouvez le faire ensemble? – Ralph

+0

Je ne sais pas ce que «l'accès» signifie dans votre question. (1) Recevez-vous des rendez-vous contenant des corps RTF que vous souhaitez extraire et traiter? (2) Avez-vous une table dans Excel que vous souhaitez distribuer dans le cadre d'un 'AppointmentItem'? Si (2), pourquoi ne pas distribuer le classeur Excel en pièce jointe? –

+0

Merci à tous les deux pour vos réponses. Tony - par "accès" je veux simplement dire obtenir les valeurs stockées dans les cellules pertinentes de la table. – Michael

Répondre

0

Pouvez-vous essayer ça?

Private Sub Add_Appointments_To_Outlook_Calendar() 

    'Include Microsoft Outlook nn.nn Object Library from Tools -> References 
    Dim oAppt As AppointmentItem 
    Dim Remind_Time As Double 

    i = 2 
    Subj = ThisWorkbook.Sheets(1).Cells(i, 1) 

    'Loop through entire list of Reminders to be added 
    While Subj <> "" 
     Set oAppt = Outlook.Application.CreateItem(olAppointmentItem) 

     oAppt.Subject = Subj 
     oAppt.Location = ThisWorkbook.Sheets(1).Cells(i, 2) 
     oAppt.Start = ThisWorkbook.Sheets(1).Cells(i, 3) 
     Remind_Time = ThisWorkbook.Sheets(1).Cells(i, 4) * 1 * 60 
     oAppt.ReminderMinutesBeforeStart = Remind_Time 
     oAppt.AllDayEvent = True 
     oAppt.Save 

     i = i + 1 
     Subj = ThisWorkbook.Sheets(1).Cells(i, 1) 
    Wend 
    MsgBox "Reminder(s) Added To Outlook Calendar" 

End Sub 

' The code comes from this link: 

http://officetricks.com/add-appointment-to-outlook-calendar-through-excel-macro-vba/

j'ai écrit un livre à ce sujet, et tant d'autres choses. Vous pouvez le trouver sur le lien ci-dessous.

https://www.amazon.com/Automating-Business-Processes-Reducing-Increasing-ebook/dp/B01DJJKVZC?ie=UTF8&keywords=ryan%20shuell&qid=1463837322&ref_=sr_1_1&sr=8-1