我正在尝试弄清楚如何使用Python程序访问我的文件夹(请参阅此SO answer)。当我运行这段代码时:
outlook = win32com.client.Dispatch("Outlook.Application")
namespace = outlook.GetNamespace("MAPI")
for i in range(50):
try:print(i,namespace.GetDefaultFolder(i).Name)
except:pass
上面的程序显示或创建了一些我不知道如何删除的文件夹,例如:
Reminders
the file so that changes to the file will be reflected in your item.
RSS Subscriptions
除了无法删除这些文件夹之外,我还没有真正找到我正在以编程方式查找的文件夹。在Outlook中,我创建的文件夹与“收件箱”、“已发送邮件”等处于同一级别...但我不知道如何访问这些文件的父文件夹。
我的文件夹结构:
I want to find
中
发布于 2018-06-16 06:04:42
GetDefaultFolder
的参数是a enumeration。您可以使用文档中礼貌地给出的数值,
或者,根据Accessing enumaration constants in Excel COM using Python and win32com,通过符号值访问它:
#need to only do this once per machine; after that, a regular Dispatch will do
o = win32com.client.gencache.EnsureDispatch("Outlook.Application")
from win32com.client import constants
o.GetDefaultFolder(constants.olFolderContacts)
正如您所看到的,访问尚不存在的默认文件夹会创建该文件夹。有关如何处理它们的信息,请参见How to Hide or Delete Outlook's Default Folders。
发布于 2018-06-17 12:30:28
您需要在不迭代GetDefaultFolder
方法的所有可能值的情况下从OlDefaultFolders
枚举中指定一个值。
您不能使用Outlook对象模型删除IPM文件夹,如收件箱、发件箱等。
https://stackoverflow.com/questions/50881700
复制相似问题