如何使用python win32com访问除默认文件夹(如收件箱、已发送)以外的outlook文件夹?

如何使用python win32com访问除默认文件夹(如收件箱、已发送)以外的outlook文件夹?,python,outlook,win32com,Python,Outlook,Win32com,这是我访问收件箱的方式: outlook = Dispatch("Outlook.Application").GetNamespace("MAPI") inbox = outlook.GetDefaultFolder("6") 当我尝试使用以下代码访问Outlook中用户创建的文件夹时: outlook = Dispatch("Outlook.Application").GetNamespace("MAPI") Folder = outlook.Folders[1]

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

   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
任何帮助都将不胜感激。

在全球范围内,您可以:

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\u of_soldy
的子文件夹,您需要:

soldy_folder = root_folder.Folders['folder_of_soldy']
如果您在_soldy的文件夹中有其他子文件夹,则依此类推

希望您能在全球范围内找到您需要的

,您可以做到:

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\u of_soldy
的子文件夹,您需要:

soldy_folder = root_folder.Folders['folder_of_soldy']
如果您在_soldy的文件夹中有其他子文件夹,则依此类推


希望您能找到您需要的

非常感谢Ben。我已经试着把这件事做好将近一个星期了。非常感谢:)@soldy不客气。您可以在VBscript中检查方法并将其转换为python。同时,考虑到答案,因为它解决了你的问题。谢谢Ben。T,你的代码也帮助了我。非常感谢本。我已经试着把这件事做好将近一个星期了。非常感谢:)@soldy不客气。您可以在VBscript中检查方法并将其转换为python。同样,考虑到答案,因为它解决了你的问题。谢谢你,你的代码也帮助了我。