1

当您在 Outlook 中标记要跟进的邮件时,它会出现红旗。当您再次标记它时,标志会变为勾号并显示任务完成时间。如何从 C# 应用程序获取/设置这个时间?

我试过使用 mailitem TaskCompletedDate,但它只返回日期(而不是时间)。我也试图找到分配给标记消息的任务,但也没有管理。我究竟做错了什么?我应该在哪里寻找它?

我正在使用 Outlook 2007 和 2010。

提前感谢您的答案。

4

3 回答 3

0

我不确定您需要的实际属性,但大多数 mailitems 属性和方法都记录在 MSDN 上:

http://msdn.microsoft.com/en-us/library/aa210946(v=office.11​​).aspx

注意:请务必检查您所针对的 Outlook 版本。2007+ 还有其他属性。

编辑

根据 MSDN,这个属性确实是DateTime

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook._mailitem.taskcompleteddate.aspx

至于为什么它只记得日期部分我无法解释。仅供参考,我相信TaskCompleteDate是UTC。

于 2012-04-16T12:56:04.467 回答
0

我找到了解决方法。我仍然不知道 Outlook 将与给定消息相关的 taksitem 保存在哪里,但我正在使用 Outlook 表格来显示必要的数据。表格可以为我检索所需的数据,然后我从表格的单元格中检索它。

帮助我做到这一点的代码在这里:http: //msdn.microsoft.com/en-us/library/ff184632.aspx

存储完成日期的列(单元格)称为“标记完成日期”。它显示整个日期时间值,而不仅仅是日期。

这种方法的缺点是您仍然无法直接访问该值并且您无法设置它,只能获取它。

于 2012-04-21T13:20:59.167 回答
0

您可以使用 mailItems propertyAccessor

要得到:

myMailItem.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x10910040")

设置(以发送日期为例):

call myMailItem.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x10910040",myMailItem.PropertyAccessor.LocalTimeToUTC(myMailItem.SentOn))
于 2021-09-22T13:54:34.153 回答