我正在尝试让我的应用程序打开带有一些预填充字段的 Outlook 会议窗口。
我发现这个问题已经在这里问过了。但是,答案中提供的代码(工作正常)不会打开会议窗口,而是打开约会窗口。这是两个在 Outlook 中处理方式不同的不同事物,而我需要的确实是会议窗口。
有什么办法可以做到这一点,还是我必须先打开约会窗口,然后邀请人们把它变成会议?
我正在尝试让我的应用程序打开带有一些预填充字段的 Outlook 会议窗口。
我发现这个问题已经在这里问过了。但是,答案中提供的代码(工作正常)不会打开会议窗口,而是打开约会窗口。这是两个在 Outlook 中处理方式不同的不同事物,而我需要的确实是会议窗口。
有什么办法可以做到这一点,还是我必须先打开约会窗口,然后邀请人们把它变成会议?
就像在另一个问题中一样创建约会,但然后设置MeetingStatus
约会的属性。
Microsoft.Office.Interop.Outlook.Application outlookApplication = new Microsoft.Office.Interop.Outlook.Application(); ;
Microsoft.Office.Interop.Outlook.AppointmentItem appointmentItem = (Microsoft.Office.Interop.Outlook.AppointmentItem)outlookApplication.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
// This line was added
appointmentItem.MeetingStatus = Microsoft.Office.Interop.Outlook.OlMeetingStatus.olMeeting;
appointmentItem.Subject = "Meeting Subject";
appointmentItem.Body = "The body of the meeting";
appointmentItem.Location = "Room #1";
appointmentItem.Start = DateTime.Now;
appointmentItem.Recipients.Add("test@test.com");
appointmentItem.End = DateTime.Now.AddHours(1);
appointmentItem.ReminderSet = true;
appointmentItem.ReminderMinutesBeforeStart = 15;
appointmentItem.Importance = Microsoft.Office.Interop.Outlook.OlImportance.olImportanceHigh;
appointmentItem.BusyStatus = Microsoft.Office.Interop.Outlook.OlBusyStatus.olBusy;
appointmentItem.Recipients.ResolveAll();
appointmentItem.Display(true);
对 NineBerries 好的解决方案的另一个说明,因为我在这里遇到了一个问题:
线
appointmentItem.Recipients.ResolveAll();
如果您在会议中有可选的与会者,则此选项是必需的。否则,即使您设置了,它们也会被重置为“必需”
recipient.Type = Microsoft.Office.Interop.Outlook.OlMeetingRecipientType.olOptional;
之前,这是由于 Outlook 中名称的“后期自动解析”(或者看起来如此)。