データを作成してソリューション ストレージに保存する

このトピックでは、新しいストレージを作成するか既存のストレージを使用して、個人用のソリューション データを保存する方法について説明します。

Outlook オブジェクト モデルでは、ソリューション データを非表示のアイテムとして作成し、フォルダーに保存することができます。 Folder.GetStorage を使用して、指定したフォルダーに StorageItem オブジェクトを作成します。 このオブジェクトは、件名、メッセージ クラス、またはエントリ ID によって識別できます。 ソリューションは、次の場合を除き、すべてのフォルダーに StorageItem オブジェクトを作成できます。

  • フォルダーが Microsoft Exchange のパブリック フォルダー、インターネット メッセージ アクセス プロトコル (IMAP) フォルダー、MSN Hotmail フォルダー、または Microsoft SharePoint Foundation のフォルダーである場合。

  • フォルダーのユーザー権限が読み取り専用になっている場合。

  • ストア プロバイダーが非表示のアイテムをサポートしていない場合。

このような場合、 Folder.GetStorage から "このフォルダーに StorageItem を作成できません" というエラーが返されます。件名またはメッセージ クラスを指定して Folder.GetStorage を呼び出し、指定した項目がフォルダーに存在しない場合、呼び出しはメッセージ クラス IPM を持つ StorageItem オブジェクトを作成して返します 。ストレージ。ただし、エントリ ID を指定した場合、呼び出しからエラー "操作が失敗しました。 オブジェクトが見つかりませんでした。

既存の StorageItem を取得する

フォルダーに既に存在するアイテムに対 して Folder.GetStorage を呼び出すことができます。 たとえば、項目には、ソリューションが以前に作成したアイテムを指定できます。IPC.MS などのよく知られているメッセージ クラスを持つ項目を指定できます 。Outlook.AgingProperties、または以前のバージョンの Outlook のフォルダーに非表示メッセージとして存在していたアイテム。 このような場合、呼び出しはアイテムを表す StorageItem オブジェクトを返します。 ただし、項目のメッセージ クラスは変更されません。

件名またはメッセージ クラスを指定して Folder.GetStorage を呼び出した場合、該当するアイテムがフォルダーに複数存在すると、最後に変更されたアイテム (つまり PidTagLastModificationTime が最も新しいアイテム) が返されます。

データを StorageItem に保存する

StorageItem オブジェクトを取得したら、そのアイテムの添付ファイルとして、またはそのアイテムの Body プロパティやカスタム プロパティの値として、個人用データを保存できます。 アイテムの初期サイズは 0 です。 アイテムにデータを保存すると、 StorageItem.Size が更新されます。 フォルダー内のアイテムの内容を更新するには、 StorageItem.Save を呼び出します。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。