在C#Outlook VSTO中,有没有办法将用户视图更改为日历视图并突出显示特定日期?

leo*_*ora 9 c# outlook vsto calendar

我想在Outlook VSTO插件中创建一个按钮,单击该按钮时,将显示用户outlook日历周视图,并且我想传递一个日期,该日期将驱动它显示的那一周.

这是否可以在C#outlook vsto中以编程方式更改用户视图?

DeJ*_*aVo 2

创建一个新按钮,并在其单击事件上使用Explorer 类的CurrentView属性。

MSDN 中有关视图的信息如下:

View 对象允许您创建可自定义的视图,以便您更好地排序、分组并最终查看所有不同类型的数据。有多种不同的视图类型可以提供创建和维护重要数据所需的灵活性。

  • 表视图类型 (olTableView) 允许您查看基于简单字段的表中的数据。
  • 日历视图类型 (olCalendarView) 允许您以日历格式查看数据。
  • 卡片视图类型 (olCardView) 允许您查看一系列卡片中的数据。每张卡片都会显示该项目包含的信息
    ,并且可以进行排序。
  • 图标视图类型 (olIconView) 允许您以图标形式查看数据,类似于 Windows 文件夹或资源管理器。
  • 时间线视图类型 (olTimelineView) 允许您查看在可自定义线性时间线中接收到的数据。

您将需要使用olCalendarView通过 View 对象的 XML 属性定义和自定义的视图。XML 属性允许您创建和设置定义视图的各种功能的自定义 XML 架构

然后您可以设置所需的日期(如果您当前的视图是日历视图)-

Outlook.Explorer olkExplorer = Application.ActiveExplorer();
DateTime selectedDate = DateTime.Now.AddDays(5);

if (olkExplorer.CurrentView is Outlook.CalendarView)
{
    Outlook.CalendarView olkCalendarView = olkExplorer.CurrentView as Outlook.CalendarView;

    olkCalendarView.GoToDate(selectedDate);
} 
Run Code Online (Sandbox Code Playgroud)

我希望它支持你的问题。