1

我正在运行下面的代码,我印象是它做了它应该做的事情。但是,Outlook 似乎从不删除通讯簿文件夹。它只是设置.ShowAsOutlookAB为假。这意味着当我在下次启动 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都会执行,但结果只是从用户界面隐藏地址簿。我希望愚蠢的事情永远消失!

我怎样才能真正删除带有地址簿的文件夹?

4

1 回答 1

1

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

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

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

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

于 2012-09-16T16:11:44.140 回答