我是Python的新手,但遇到了一个我无法逾越的错误。如果主题匹配给定的字符串,请编写代码以查看我的观点并提取附件(excel)。这是代码:import win32com.clientoutlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")inbox = outlook.GetDefaultFolder(6)print "Inbox name is:", inbox.Namemessages = inbox.Itemsmessage = messages.GetFirst ()while message: if message.Subject.startswith('EOD Report'): attachments = message.Attachments if attachments.Count>=1: attachment = attachments.Item(1) filename = 'c:\Users\xx\Python\%s'%attachment print filename attachment.WriteToFile(filename) message = messages.GetNext()如果我摆脱了“ attachment.WriteToFile(filename)”,它运行得很好。但是,该特定语句会产生错误:Traceback (most recent call last): File "C:\Users\xx\.spyder2\.temp.py", line 31, in <module> attachment.WriteToFile(filename) File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 522, in __getattr__ raise AttributeError("%s.%s" % (self._username_, attr))AttributeError: Item.WriteToFile有人知道出什么问题了吗?谢谢
1 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
代替:
attachment.WriteToFile(filename)
尝试:
attachment.SaveAsFile(filename)
我认为WriteToFile适用于从Exchange服务器本身检索附件的情况。
该SaveAsFile是当你保存你从Outlook本地阅读附件的。
添加回答
举报
0/150
提交
取消