如何使用python win32com访问除默认文件夹之外的Outlook文件夹(如Inbox,Sent)?

时间:2018-04-20 10:13:55

标签: python outlook win32com

这就是我能够访问收件箱的方式:

   outlook = Dispatch("Outlook.Application").GetNamespace("MAPI")
   inbox = outlook.GetDefaultFolder("6")

当我尝试使用以下代码访问Outlook中用户创建的文件夹时:

   outlook = Dispatch("Outlook.Application").GetNamespace("MAPI")
   Folder = outlook.Folders[1]
   print (Folder)

我收到了这个错误:

  raise IndexError("list index out of range")

IndexError: list index out of range

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:4)

在全球范围内,你可以这样做:

from win32com.client import Dispatch
outlook = Dispatch("Outlook.Application").GetNamespace("MAPI")
root_folder = outlook.Folders.Item(1)

然后您可以通过

检查此文件夹的名称
print (root_folder.Name)

要知道您拥有的子文件夹的名称:

for folder in root_folder.Folders:
    print (folder.Name)

最后,假设您要访问folder_of_soldy中名为root_folder的子文件夹,您可以:

soldy_folder = root_folder.Folders['folder_of_soldy']

如果您在folder_of_soldy中有其他子文件夹,那么等等。

希望你找到你需要的东西