切换到Outlook日历使用VSTO(Switch To Outlook Calendar usin

2019-10-18 00:43发布

我有我已经加入到Microsoft Outlook 2013年该窗格包括WPF日历控件,点击时双击我想它从当前Outlook视图(邮件)切换到日历视图并转到所选的日期CustomTaskPane控制。

这里是我使用的代码:

private void TopCalendar_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
    CalendarView calView = null;
    Explorer explorer;
    DateTime goToDate = (TopCalendar.SelectedDate.HasValue) ? TopCalendar.SelectedDate.Value : DateTime.Today;

    explorer = Globals.ThisAddIn.Application.ActiveExplorer();
    Views views = Globals.ThisAddIn.Application.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar).Views;

    foreach(View v in views)
        if (v.Name == "Calendar")
        {
            calView = (CalendarView)v;
            break;
        }

    calView.CalendarViewMode = OlCalendarViewMode.olCalendarViewMonth;
    calView.GoToDate(goToDate);
    explorer.CurrentView = calView;
}

然而,当我在代码被称为迄今为止双击(与断点验证),但似乎对Outlook中没有任何影响。 有什么建议么?

Answer 1:

请务必与Apply()以使视图为当前视图Folder 。 你还需要将分配CurrentFolder到日历。

calView.Apply(); // applies the view
explorer.CurrentFolder = Globals.ThisAddIn.Application.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar); // changes current folder


文章来源: Switch To Outlook Calendar using VSTO