【发布时间】:2020-10-27 16:08:18
【问题描述】:
我正在开发一个 Outlook 插件,它从 Outlook 桌面检索 TaskItem 并打开它。这是我的代码。
private static Microsoft.Office.Interop.Outlook.TaskItem GetLatestTask(string entryId)
{
Microsoft.Office.Interop.Outlook.MAPIFolder taskFolder = Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderTasks);
List<Microsoft.Office.Interop.Outlook.TaskItem> liTask = new List<Microsoft.Office.Interop.Outlook.TaskItem>();
foreach (Microsoft.Office.Interop.Outlook.TaskItem taskItem in taskFolder.Items)
{
if (taskItem.EntryID == entryId)
return taskItem;
}
}
这通常可以正常工作。但是,如果我从 Outlook Web/Office 在线更新任务,然后尝试使用代码获取任务,我得到的任务不会更新并且仍然包含旧值。
例如,我有一个主题名为“Test”的任务,然后我在 Outlook Web 中将其更新为“Test Updated”,我仍然会得到一个主题名为“Test”的任务。
如果我在 Outlook 桌面查看任务列表,我可以看到任务列表中的任务主题已经更新。但是打开它仍然会显示旧项目。
重新启动 Outlook 后,插件会获取更新的项目。
谁能指出我正确的方向?谢谢。
【问题讨论】:
标签: outlook vsto outlook-addin office-interop