私は以下のコードを実行していますが、本来の目的を果たしているという印象を受けました。ただし、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
が実行されますが、ユーザー インターフェイスからアドレス帳が非表示になるだけです。私は愚かなことを永久に終わらせたい!
アドレス帳のあるフォルダを本当に削除するにはどうすればよいですか?