[英]Outlook Add-in VSTO DASL question
在我的Outlook加载项中,我希望能够为具有以下条件的约会筛选默认日历:
我已经弄清楚了如何使用DASL搜索那些项目,但是如何获得日历视图来显示那些过滤后的结果呢?
这是我到目前为止的代码:
internal class MyAppointment : Appointment
{
[OutlookItemProperty("urn:schemas:calendar:dtstart")]
public DateTime Start { get { return Item.Start; } }
[OutlookItemProperty("urn:schemas:calendar:dtend")]
public DateTime End { get { return Item.End; } }
public bool ReminderSet { get { return Item.ReminderSet; } }
public bool AllDayEvent { get { return Item.AllDayEvent; } }
}
void btnFix_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault)
{
Outlook.Folder folder = (Outlook.Folder)Globals.ThisAddIn.Application.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderCalendar);
var appts = from item in folder.Items.AsQueryable<MyAppointment>()
where item.Start >= DateTime.Now
&& item.End <= DateTime.Now.AddMonths(1)
&& item.ReminderSet
&& item.AllDayEvent
select item.Item;
// bind to Calendar view???
}
我现在有一个约会集合。 如何获取日历以显示它们?
答案是任何人都需要的:
将其作为过滤器应用于“日历”文件夹。
Outlook.CalendarView视图=(Outlook.CalendarView)Application.ActiveExplorer()。CurrentView; 筛选器=“ \\” urn:schemas:calendar:alldayevent \\“ = 1 AND \\” http://schemas.microsoft.com/mapi/id/ {00062008-0000-0000-C000-000000000046} / 8503000b \\“ = 1 “;
view.Filter =过滤器; view.Apply();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.