保存附件时出错



我是Python的新手,得到一个我无法过去的错误。

写一个代码,通过我的outlook和提取附件(excel),如果主题匹配一个给定的字符串。下面是代码:

import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
print "Inbox name is:", inbox.Name
messages = inbox.Items
message = messages.GetFirst ()
while message:
    if message.Subject.startswith('EOD Report'):
        attachments = message.Attachments
        if attachments.Count>=1:
            attachment = attachments.Item(1)
            filename = 'c:UsersxxPython%s'%attachment
            print filename
            attachment.WriteToFile(filename)
    message = messages.GetNext()

它运行得很好,如果我摆脱'attachment.WriteToFile(filename)'。但是,该特定语句生成错误:

Traceback (most recent call last):
  File "C:Usersxx.spyder2.temp.py", line 31, in <module>
    attachment.WriteToFile(filename)
  File "C:Python27libsite-packageswin32comclientdynamic.py", line 522, in    __getattr__
    raise AttributeError("%s.%s" % (self._username_, attr))
AttributeError: Item.WriteToFile

有人知道出了什么问题吗?由于

而不是:

attachment.WriteToFile(filename)

试题:

attachment.SaveAsFile(filename)

我认为WriteToFile是当你从Exchange服务器本身检索附件时使用的。

SaveAsFile用于保存从Outlook本地读取的附件

AttributeError告诉您Item对象没有一个名为WriteToFile的方法(或函数)。

相关内容

  • 没有找到相关文章

最新更新