2016-05-17 174 views
1

我想以讀寫模式打開Outlook電子郵件(msg)文件以解析它並更改日期值。從msg文件中讀取(讀取模式)日期,然後將(寫入模式)假日期替換爲msg文件。到目前爲止,我確實如此。Python:在讀寫模式下打開Outlook電子郵件(.msg)文件

import win32com.client 
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") 
msg = outlook.OpenSharedItem(r"C:\Users\abc.msg") 

print msg.SentOn 

我可以得到SendOn日期。這意味着它默認處於讀取模式。如何打開它以寫入模式並用Dummy日期替換SendOn日期。或者有其他的方式來做到這一點?

回答

1

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 
+0

它完美,因爲我需要的。缺少'()'來保存上述代碼中的文件。謝謝 :) – jaymin581

相關問題