以编程方式检查C#中所需参加者的姓名

时间:2016-01-15 16:40:40

标签: c# outlook-addin

我正在编写一个简单的Outlook插件,我需要让所需的与会者参加预约。

为此,我使用以下代码:

...
Outlook.AppointmentItem appointment theCurrentAppointment = 
                                Inspector.CurrentItem as Outlook.AppointmentItem;
String attendees = appointment.RequiredAttendees;
/// attendees is empty if names are not checked
/// otherwise has the correct value

此代码仅在我使用检查名称功能(CTRL + K)时才有效,否则返回空字符串。

可以通过编程方式在C#中检查所需与会者的姓名(到约会)?

很抱歉,但C#不是我的编程语言,我不知道我是否使用了正确的术语。

如何重现错误:

  • 我按新约会
  • 我添加了一位必需的与会者
  • 我按下一个按钮调用我的功能

如何解决问题(手动,而不是以编程方式)

  • 我按新约会
  • 我添加了一位必需的与会者
  • 我按CTRL + K
  • 我按下一个按钮调用我的功能

我需要在保存约会之前知道RequiredAttendees的值。所以我无法保存它,然后检查RequiredAttendees的值。

2 个答案:

答案 0 :(得分:2)

在检查与会者列表之前,我认为您首先需要通过以下方式保存约会项目:

AppointmentItem.Save();

参考:https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook._appointmentitem.save.aspx

保存后,再次获取该约会对象并运行获取所需参加者所需的代码(如下所示)。

字符串变量与会者将包含一个以分号分隔的字符串,其中包含每个与会者的姓名。

从那里,您可以通过以下方式解析它:

string [] names = attendees.Split(';');

将返回与会者姓名的数组。

有关详细信息,请参阅_ AppointmentItem.RequiredAttendees属性。

答案 1 :(得分:0)

不是使用RequiredAttendees属性,而是遍历“收件人”集合中的所有收件人,并检查Recipient.Type == olTo(必需)。