检查经理对会议请求的响应
本示例阐释如何使用 GetExchangeUser() 和 GetExchangeUserManager() 方法来检查当前用户的经理对会议请求的响应状态。
示例
注意
下面的代码示例摘录自 Microsoft Office Outlook 2007 应用程序编程。
若要确定给定收件人是接受还是拒绝了请求的会议,需从 AppointmentItem 对象关联的 Recipients 集合中使用 Recipient 对象的 MeetingResponseStatus 属性。
在下面的代码示例中,CheckManagerResponseStatus 以参数形式获取 AppointmentItem 对象。 CheckManagerResponseStatus 对当前用户调用 GetExchangeUser 方法,以获取 ExchangeUser 对象。 然后,CheckManagerResponseStatus 调用 GetExchangeUserManager 方法,以获取与当前用户的经理关联的 ExchangeUser 对象。 随后,此代码示例使用 NameSpace 对象的 CompareEntryIDs(String, String) 方法,检查与 AppointmentItem 对象关联的 Recipient 对象是否与表示用户的经理的 ExchangeUser 对象相同。 如果 CompareEntryIDs 返回 true,表示在 Recipients 集合中找到了用户的经理,然后 CheckManagerResponseStatus 便会返回经理的 MeetingResponseStatus。 如果 CompareEntryIDs 返回 false,CheckManagerResponseStatus 返回空引用。
如果使用 Visual Studio 测试此代码示例,必须先添加对 Microsoft Outlook 15.0 对象库组件的引用,并在导入 Microsoft.Office.Interop.Outlook 命名空间时指定 Outlook 变量。 不得将 using 语句直接添加到此代码示例中的函数前面,这个语句必须后跟公共类声明。 下面的代码行演示了如何在 C# 中执行导入和分配。
using Outlook = Microsoft.Office.Interop.Outlook;
private Object CheckManagerResponseStatus(Outlook.AppointmentItem appt)
{
try
{
if (appt == null)
{
throw new ArgumentNullException();
}
Outlook.AddressEntry user =
Application.Session.CurrentUser.AddressEntry;
Outlook.ExchangeUser userEx = user.GetExchangeUser();
if (userEx == null)
{
return null;
}
Outlook.ExchangeUser manager =
userEx.GetExchangeUserManager();
if (manager == null)
{
return null;
}
foreach (Outlook.Recipient recip in appt.Recipients)
{
if (Application.Session.CompareEntryIDs(
recip.AddressEntry.ID, manager.ID))
{
return recip.MeetingResponseStatus;
}
}
return null;
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
return null;
}
}