hereで説明されているようにアドレス帳を作成しましたが、それは魅力のように機能します。次に、アクセスしたいと思います-最初に存在するかどうかを確認し(逆の場合は作成します)、次に参照します。
私の現在のコードは、不足している名前フォルダーを検出するために依存していException
ますが、これは私の見解では醜い回避策です。たとえば、などのような、よりきちんとした方法は見つかりませんでした.DoesFolderExist
。どうすれば改善できるのか、アドバイスをいただきたいです。
Outlook.Folder contacts =
this.Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderContacts) as Outlook.Folder;
Outlook.Folder addressBook = null;
try { addressBook = contacts.Folders["My AB"] as Outlook.Folder; }
catch (Exception) { }
if (addressBook == null)
{
addressBook = contacts.Folders.Add("My AB",
Outlook.OlDefaultFolders.olFolderContacts) as Outlook.Folder;
addressBook.ShowAsOutlookAB = true;
}
this.Application.Session.GetFolderFromID(...)
代わりに使用する必要がありますか?問題は、アドレス帳の名前 (持っている) とストア ID (持っていない) の両方を指定する必要があることです。私はそこに行きたくありませんが、メソッドの構文は、GetFolderFromID
名前が同じであるが異なるストアに配置されている 2 つの異なるアドレス帳が存在する可能性があることを示唆しています。そうですか、それともcontact.Folder["name"]
上記で十分ですか?