【发布时间】:2015-03-31 19:36:41
【问题描述】:
我正在尝试使用 c# windows 应用程序为 Outlook 创建 API。为此,要获得所有 AppointmentItem 我正在使用以下代码并且它正在工作。
Microsoft.Office.Interop.Outlook.Application oApp = null;
Microsoft.Office.Interop.Outlook.NameSpace mapiNamespace = null;
Microsoft.Office.Interop.Outlook.MAPIFolder CalendarFolder = null;
Microsoft.Office.Interop.Outlook.MAPIFolder Inbox = null;
Microsoft.Office.Interop.Outlook.Items outlookCalendarItems = null;
oApp = new Microsoft.Office.Interop.Outlook.Application();
mapiNamespace = oApp.GetNamespace("MAPI"); ;
mapiNamespace.Logon("", "",true, true);
CalendarFolder = mapiNamespace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderCalendar);
CalendarFolder = oApp.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderCalendar);
DateTime startTime = DateTime.Now;
DateTime endTime = startTime.AddDays(5);
//string filter = "[Start] >= '" + startTime.ToString("g") + "' AND [End] <= '" + endTime.ToString("g") + "'";
outlookCalendarItems = CalendarFolder.Items;
// outlookCalendarItems.Restrict(filter);
// outlookCalendarItems.Sort("Start");
outlookCalendarItems.IncludeRecurrences = true;
int i = 0;
foreach (Microsoft.Office.Interop.Outlook.AppointmentItem item in outlookCalendarItems)
{
dataGridCalander.Rows.Add();
dataGridCalander.Rows[i].Cells[0].Value = i + 1;
if (item.Subject != null)
{
dataGridCalander.Rows[i].Cells[1].Value = item.Subject;
}
}
类似的方式,我想获取在 Outlook 中创建的可用会议室以及该特定会议室的状态(可用或不可用)。提前致谢。
【问题讨论】: