Outlook VSTO-如何显示“;邀请与会者";我打电话预约时的文本框.显示()

本文关键字:显示 quot 电话预约 文本 何显示 VSTO- Outlook 与会者 | 更新日期: 2023-09-27 17:59:49

我有以下代码来弹出outlook apptitem。它工作得很好,除非我点击"邀请与会者",否则我看不到弹出窗口上的实际与会者文本框。当我点击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);
    }

有没有办法在不必单击"邀请与会者"按钮的情况下自动显示与会者的文本框?此外,有没有用程序调用"检查姓名"来解决与会者的问题?

Outlook VSTO-如何显示“;邀请与会者";我打电话预约时的文本框.显示()

我认为您想要的是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对象不同,您不能创建此[例如。MeetingItem]对象。当您设置olMeeting和的约会项对象的MeetingStatus属性将其发送给一个或多个用户。他们在收件箱中收到会议项目。