【问题标题】:Can't remove address book in Outlook 2010无法在 Outlook 2010 中删除通讯簿
【发布时间】:2012-09-17 00:11:44
【问题描述】:

我正在运行下面的代码,并且我认为它完成了它应该做的事情。但是,Outlook 似乎从不删除通讯簿文件夹。它只是将 .ShowAsOutlookAB 设置为 false。这意味着当我在下次启动 Outlook 时检查该文件夹是否存在时,该文件夹就在那里(虽然我没有意识到,因为它没有显示在 UI 中)。

Outlook.MAPIFolder defaultContactsFolder = 
  this.Application.GetNamespace("MAPI").GetDefaultFolder(
    Outlook.OlDefaultFolders.olFolderContacts);
defaultContactsFolder.Folders["My AB"].Delete();

我还尝试了以下代码,以确保它与我选择的库无关。

Outlook.Folder defaultContactsFolder = 
  this.Application.Session.GetDefaultFolder(
    Outlook.OlDefaultFolders.olFolderContacts) as Outlook.Folder;
Outlook.Folders contactFolders = defaultContactsFolder.Folders;
if (contactFolders.Cast<Outlook.Folder>().Where(
  element => element.Name == _CrmkAddressBookName).Count() > 0)
    contactFolders["My AB"].Delete();

在每种情况下,Delete 都会执行只会导致用户界面隐藏通讯录。我希望这愚蠢的东西永远消失!

我如何真正删除带有地址簿的文件夹?

【问题讨论】:

  • 我不确定完全删除地址簿是否可能,因为它是通过构造内置的。
  • 我是否是创建通讯录的人有关系吗?它不是任何默认值。我正在向默认联系人文件夹添加一个子文件夹,然后将其标志 ShowAsOutlookAB 设置为 true。肯定有办法摆脱这种东西?!如果我碰巧运行了一个循环并创建了一个名为“My AB xxx”的海量通讯录并且需要摆脱它们怎么办?
  • 据我所知,您只能创建文件夹,不能创建地址簿,文件夹确实可以删除,但我怀疑地址簿部分可以删除。看起来像是微软支持的问题。
  • 我知道你前进的方向。这也是我的印象。这就是为什么我在联系人中创建一个子文件夹,然后手动将其设置为可在 Outlook 中显示为通讯簿。能够创建东西但不能删除它们感觉完全错误......
  • 是的,只是平均的 ms 产品 :)

标签: c# outlook outlook-addin


【解决方案1】:

我犯了这样的错误,但使用了不同的实体,尽管仍在 Outlook 中。我得到的建议只是忽略这个问题。 Deleted 目录充满了同名的项目,用户在发现它时被黑了。

我的解决方案,主要是为了让客户平静下来,是重命名我知道最终用户通常检查的字段并添加文本“Outlook 维护安全存储”。然后用户很高兴。

不过,据我所知,您的问题的简短回答是“抱歉,您不能”。

冗长的答案让我们可以选择删除帐户并创建一个新帐户,但如果所有内容都重新出现,我不会感到惊讶。 :)

【讨论】:

  • 这非常令人失望。当我看到关于这个问题的回复的通知时,我非常兴奋……嗯,至少信息得到确认是件好事。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-10
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 2011-12-13
相关资源
最近更新 更多