我希望在读和写模式下打开Outlook电子邮件(msg)文件来解析它并更改日期值。从msg文件中获取(读取模式)日期,然后将(写入模式)虚拟日期替换为msg文件。到目前为止我一直在跟踪。
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
msg = outlook.OpenSharedItem(r"C:\Users\abc.msg")
print msg.SentOn
我可以得到SendOn的日期。它的意思是默认情况下在读模式。如何打开它以写入模式,并将SendOn日期替换为虚拟日期。或者有其他方法吗?
发布于 2016-05-17 16:45:40
SentOn属性在Outlook对象模型中是只读的。为此您需要扩展MAPI (C++或Delphi,使用OpenIMsgOnIStg,设置PR_CLIENT_SUBMIT_TIME属性)或救赎(任何语言):
set Session = CreateObject("Redemption.RDOSession")
set Msg = Session.GetMessageFromMsgFile("C:\Users\abc.msg")
Msg.SentOn = #5/17/2016#
Msg.Save
https://stackoverflow.com/questions/37269165
复制相似问题