私はAddInを開発しようとしています。Outlook AddInの「私の」カスタムフォルダを特定する方法
AddInは新しいカスタムフォルダを提供するはずです(階層の最上位にあります。つまり、タスク、カレンダー、連絡先などの他のすべての主要アイテム)を使用して、ユーザーにアイテムを提供します。だから私はアドインのスタートアップメソッドで、私は単に何かをすることができたと思った
Outlook.Folder parent = inBox.Parent as Outlook.Folder;
Outlook.Folder myCustomFolder = (Outlook.Folder)parent.Folders.Add("My Custom Folder");
...それは実際に動作します。ただし、Outlookを終了してもう一度起動してから問題が発生します。フォルダはOutlookによって永続化されているため、次回Outlookが起動してAddInを再度初期化するときにも同じフォルダが存在するため、同じ名前のオブジェクトが既に存在するためフォルダの作成に失敗します。しかし、私は前回からこのフォルダが "私"であることをどのように伝えるべきかわかりません。
私はそれも考慮することがあまりにも信頼できないのです(フォルダを識別するために、その 名前に依存したくない、ユーザーは、他のアドインが、それは同じ名前のフォルダを作成しない存在する可能性があり、それを名前を変更したい場合がありますローカリゼーションの問題など)がありますが、カスタムフォルダがすでに作成されていることを確認するために他に何が使えますか?
"タグ"をフォルダに追加して後で "私のように"認識できるようにするか、フォルダを一意に識別する何らかのIDが必要ですOutlookの起動間でも!)私はそれを認識することができます。
私は[MAPI]Folder
オブジェクトのEntryID
とStoreID
フィールドを見てきたが、MSDNで(悲しいことに、非常に詳細ではない)の記述から、私は、私は彼らに頼ることができるかどうかわからないんだけど、どうやら彼らができるので、特定の条件の下で変更します。
提案がありますか?
私は今EntryIDを使ってフォルダを識別していますが、隠しメッセージに保存しません。代わりに私はAddInの構成設定(ユーザーのアプリケーションデータプロファイルフォルダ内のファイルに格納されている)と一緒に保存します。私は隠れたメッセージのトリックを心に留めておきます。ちょうど私の方法がうまくいかない場合に備えて、私は望みます。 –