首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用GetDefaultFolder获取特定文件夹并删除它创建的不需要的文件夹

如何使用GetDefaultFolder获取特定文件夹并删除它创建的不需要的文件夹
EN

Stack Overflow用户
提问于 2018-06-16 03:34:24
回答 2查看 996关注 0票数 0

我正在尝试弄清楚如何使用Python程序访问我的文件夹(请参阅此SO answer)。当我运行这段代码时:

代码语言:javascript
复制
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

  • ...

  • the
  • My email address
    • Inbox
    • Drafts
    • Sent Items
    • ...
    • Folder I find
    • ...
    • the file以便对文件所做的更改将反映在您的item.
    • Reminders
    • RSS Subscriptions
    • Search Folders

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-16 06:04:42

GetDefaultFolder的参数是a enumeration。您可以使用文档中礼貌地给出的数值,

或者,根据Accessing enumaration constants in Excel COM using Python and win32com,通过符号值访问它:

代码语言:javascript
复制
#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

票数 1
EN

Stack Overflow用户

发布于 2018-06-17 12:30:28

您需要在不迭代GetDefaultFolder方法的所有可能值的情况下从OlDefaultFolders枚举中指定一个值。

您不能使用Outlook对象模型删除IPM文件夹,如收件箱、发件箱等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50881700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档