我正在尝试让我的应用程序打开包含一些预先填充的字段的Outlook会议窗口。
我发现这个问题已被问到here。 但是,答案中提供的代码(工作正常)不会打开会议窗口,而是打开appointement窗口。这些是在Outlook中处理不同的两个不同的东西,我需要的确是会议窗口。
有没有办法实现这一目标,还是我必须首先打开appointement窗口,然后邀请其他人将其变成会议?
答案 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 中名称的“延迟自动解析”(或者看起来如此)。