2017-07-28 62 views
0

我有一個Outlook加載項,我試圖訪問約會邀請的收件人。即使收件人列爲空,代碼Outlook.AppointmentItem.Recipients.Count返回1,Recipients返回發件人的電子郵件。Recipients.Count在VB不工作

Dim recips As Outlook.Recipients 
Dim recip As Outlook.Recipient 
Dim flag As Boolean = False 

cal = Application.ActiveInspector().CurrentItem 
recips = cal.Recipients 
cal.Save() 
MessageBox.Show(recips.Count) 
For Each recip In recips 
    MessageBox.Show(recip.Address) 
Next 

任何人都可以提出爲什麼會發生這種情況?

回答

0

您可以使用GetAssociatedAppointment方法,該方法返回AppointmentItem對象,該對象表示與會議請求關聯的約會。然後,你可以使用以下屬性:

  • RequiredAttendees - 返回會議需預約與會者姓名的分號分隔字符串。
  • OptionalAttendees - 返回或設置一個字符串,該字符串表示約會的可選參與者名稱的顯示字符串。

當然還有AppointmentItem類的Recipients屬性。

0

這是由設計 - 約會組織者總是在收件人表中。您可以通過使用Recipient.PropertyAccessor.GetProperty查看PR_RECIPIENT_FLAGS屬性(DALS名稱http://schemas.microsoft.com/mapi/proptag/0x5FFD0003)來確定組織者是誰。組織者將設置recipOrganizer(= 2)位。

+0

我發誓我最近遇到了一個情況,其中Recipients.Count爲0的Outlook 2013,但2016的1。我不得不故意編碼以適應此 –

+0

是的,舊版本的Outlook沒有收件人,沒有全局約會ID,直到約會被保存。只要調用Save,Outlook 2016就會將組織者添加爲收件人。 –