2012-04-16 81 views
1

当您在Outlook中为后续邮件标记邮件时,它会显示一个红旗。当您再次标记该标志时,该标志会变成刻度线标志,并显示任务完成时间。如何从C#应用程序获取/设置此时间?获取mailitem的完成日期时间

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

我使用的是Outlook 2007和2010

在此先感谢您的答案。

回答

0

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

,帮助我得到这个代码是在这里: http://msdn.microsoft.com/en-us/library/ff184632.aspx

的列(单元格),其中存储的完工日期被称为“旗完成日期”。它显示整个日期时间值,不仅是日期。

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

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。

+0

我已更新我的帖子与Outlook版本上的信息。我已经搜索了MailItem成员,并且我尝试了最明显的成员,但它不起作用。如上所述,最接近的是'TaskCompletedDate()',但它似乎只返回日期而不是时间。 FlagCompleteDate隐藏的任何其他想法? – Val 2012-04-16 13:04:43

+0

“至于为什么它只记住日期部分,我无法解释” - 但它必须将时间存储在某处,因为Outlook能够显示它。 – Val 2012-04-16 13:42:24