我想在Outlook VSTO插件中创建一个按钮,单击该按钮时,将显示用户的Outlook日历周视图,并且我想传递一个日期,该日期将推动它显示的那一周。
这是否可以在C#outlook vsto中以编程方式更改用户视图?
答案 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);
}
我希望它支持你的问题。