Outlook VSTO - 当我调用约会.Display() 时如何显示“邀请与会者”文本框?
Posted
技术标签:
【中文标题】Outlook VSTO - 当我调用约会.Display() 时如何显示“邀请与会者”文本框?【英文标题】:Outlook VSTO - how to show the "Invite attendees" textbox when I call appointment.Display()? 【发布时间】:2013-02-03 02:26:43 【问题描述】:我有以下代码来弹出一个 Outlook 应用程序。它工作得很好,除非我点击“邀请与会者”,否则我无法在弹出窗口中看到实际的与会者文本框。当我单击 appt 项目上的该按钮时,它确实显示了我在下面填充的人员列表。
public void BookAppt(List<string> rooms, DateTime startTime, DateTime endTime)
var PacktAppointmentItem = (Microsoft.Office.Interop.Outlook.AppointmentItem)Globals.ThisAddIn.Application.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
PacktAppointmentItem.Subject = "Test Meeting";
PacktAppointmentItem.Location = "My Room";
PacktAppointmentItem.Start = startTime;
PacktAppointmentItem.End = endTime;
PacktAppointmentItem.Body = "Test Meeting";
PacktAppointmentItem.RequiredAttendees = String.Join(";", rooms);
PacktAppointmentItem.Display(true);
有没有什么方法可以自动显示与会者文本框而无需单击“邀请与会者”按钮?另外,是否有任何方式以编程方式调用“检查姓名”以便解决与会者?
【问题讨论】:
您可以通过在AppointmentItem.Recipients
对象上调用ResolveAll()
方法来“检查名称”。虽然我不知道问题的另一部分的答案,但也许 FormProperties
对象与此有关。
@John Willernse - 感谢 ResolveAll() 的帮助。 .希望有人会带着第一个问题回来(我认为它可能是显示方法上的一个参数,但在那里或任何属性上都找不到它
【参考方案1】:
我认为您想要的是 MeetingItem,而不是 AppointmentItem。你不能直接创建一个 MeetingItem,但你几乎在任何地方:只需在你的代码中添加这一行:
PacktAppointmentItem.MeetingStatus = Outlook.OlMeetingStatus.olMeeting;
所以你的最终代码应该是这样的
var PacktAppointmentItem = (Microsoft.Office.Interop.Outlook.AppointmentItem)Globals.ThisAddIn.Application.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
PacktAppointmentItem.Subject = "Test Meeting";
PacktAppointmentItem.Location = "My Room";
PacktAppointmentItem.Start = DateTime.Now;
PacktAppointmentItem.MeetingStatus = Outlook.OlMeetingStatus.olMeeting;
PacktAppointmentItem.End = DateTime.Now.AddHours(1.0);
PacktAppointmentItem.Body = "Test Meeting";
PacktAppointmentItem.RequiredAttendees = String.Join(";", rooms);
PacktAppointmentItem.Display(true);
背景简介:来自微软:http://msdn.microsoft.com/en-us/library/office/microsoft.office.interop.outlook.meetingitem(v=office.14).aspx
与其他 Microsoft Outlook 对象不同,您无法创建此对象 [例如 会议项目] 对象。设置时会自动创建 将 AppointmentItem 对象的 MeetingStatus 属性设置为 olMeeting 和 将其发送给一个或多个用户。他们在收件箱中收到它作为 会议项目。
【讨论】:
感谢 Magnum 的解决方案。 .我知道必须有办法:)以上是关于Outlook VSTO - 当我调用约会.Display() 时如何显示“邀请与会者”文本框?的主要内容,如果未能解决你的问题,请参考以下文章
带有 FormRegion 的 VSTO Outlook 约会 - 删除收件人时保存异常
VSTO Outlook 插件:当用户拖放定期约会时,无法在 Item_Change 事件中获取 AppointmentItem
在 Outlook VSTO 插件中调用了 SelectionChane,但 ActiveExplorer().Selection.Count = 0: