我正在运行下面的代码,并且我 的印象是它完成了它应该做的事情。但是,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
执行但只会导致隐藏来自用户界面的地址簿。我希望愚蠢的事情永远消失!
如何真正删除包含地址簿的文件夹?
答案 0 :(得分:1)
我犯了这样的错误但是有一个不同的实体,尽管仍然在Outlook中。我得到的建议只是忽略了这个问题。 Deleted
目录中充满了具有相同名称的项目,并且用户在发现它时就被追踪了。
我的解决方案,主要是为了让客户冷静下来,就是重命名我知道最终用户通常会检查的字段,并添加“安全地存储Outlook维护”文本。然后用户很高兴。
尽管我的知识很突出,但对你的问题的简短回答是“抱歉,你不能”。
长篇回答让我们可以选择删除帐户并创建一个新帐户,但如果所有内容再次重新出现,我不会感到惊讶。 :)