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

时间:2015-12-29 18:05:29

标签: c# calendar outlook vsto

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

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

1 个答案:

答案 0 :(得分:2)

创建一个新按钮,在其on click事件中使用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);
} 

我希望它支持你的问题。