[英]Python script not working after patch upgrade of outlook to win32com.gen_py.Microsoft Outlook 14.0
我幾乎沒有與Microsoft Outlook 2010交互的任何Python腳本。
但是在將補丁應用到Outlook之后,在python 2.7腳本上獲得了所有這些錯誤(自最近3年以來運行良好)。
完整的錯誤是AttributeError:”對象沒有屬性'SaveASFile'
這是代碼
對於消息中的味精:
attachments = msg.Attachments
attachment = attachments.Item(1)
attachment.SaveASFile(os.path.join('c:\\EDIT', 'outlookAttach.txt'))
提前致謝。 -搖擺
我遇到了同樣的問題。 我將屬性名稱從“ SaveASFile”更改為“ SaveAsFile”
我知道這很有趣。 但是,它對我有用!
另外,請確保指定要下載的附件類型。 在您的情況下,附件應為txt類型。
這是我的代碼:
att=msg.Attachments
attachment = att.Item(1)
attachment.SaveAsFile(os.path.join('C:\Users\Harish\Desktop', 'outlookAttach.msg'))
就我而言,附件為和eml文件。 因此,它工作正常。
或者,您可以執行以下操作:
attachment.SaveAsFile(os.path.join('C:\Users\Harish\Desktop', attachment.FileName))
也可以
希望能有所幫助
此屬性錯誤的主要原因是因為您的COM服務器已從后期綁定(動態)更改為早期綁定(靜態)。
有兩種方法可以解決此問題:
使用動態模塊來強制您的代碼以面向后期的方式工作。 使用示例:
"win32com.client.dynamic.Dispatch()" instead of "win32com.client.Dispatch()"
使用駝峰式敏感關鍵字以早期綁定為導向。 使用示例:
"excel.Visible()" instead of "excel.VISIBLE()" or "excel.visible()"
在您的情況下,正如他所說的那樣使用:
"attachment.SaveAsFile" instead of "attachment.SaveASFile"
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.