是否可以直接打开Outlook会议窗口?

时间:2017-03-08 16:07:48

标签: c# .net outlook-2016

我正在尝试让我的应用程序打开包含一些预先填充的字段的Outlook会议窗口。

我发现这个问题已被问到here。 但是,答案中提供的代码(工作正常)不会打开会议窗口,而是打开appointement窗口。这些是在Outlook中处理不同的两个不同的东西,我需要的确是会议窗口。

有没有办法实现这一目标,还是我必须首先打开appointement窗口,然后邀请其他人将其变成会议?

2 个答案:

答案 0 :(得分:1)

像在其他问题中一样创建约会,但随后设置约会的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);

答案 1 :(得分:0)

另外一个关于 NineBerries 好的解决方案的说明,因为我在这里遇到了一个问题:

线

appointmentItem.Recipients.ResolveAll();

如果您在会议中有可选的与会者,则是必要的。 否则即使您设置了它们也会被重置为“必需”

recipient.Type = Microsoft.Office.Interop.Outlook.OlMeetingRecipientType.olOptional;

之前,这是由于 Outlook 中名称的“延迟自动解析”(或者看起来如此)。