メッセージ テキストを開く

適用対象: Outlook 2013 | Outlook 2016

メッセージのテキストは、 PR_BODY プロパティまたは PR_RTF_COMPRESSED プロパティに格納されます。 詳細については、「 PR_BODY (PidTagBody)、 PR_HTML (PidTagHtml)、 PR_RTF_COMPRESSED (PidTagRtfCompressed)」を参照してください。

リッチ テキスト形式 (RTF) をサポートしている場合は、 PR_RTF_COMPRESSEDを開きます。 RTF をサポートしていない場合は、 PR_BODYを開きます。 メッセージのテキストは書式設定されているかどうかに関係なく大きくなる可能性があるため、 IMAPIProp::OpenProperty を使用してこれらのプロパティを開きます。 詳細については、「 IMAPIProp::OpenProperty」を参照してください。

書式設定されたメッセージ テキストを表示するには

  1. RTF 対応以外のメッセージ ストアを使用している場合は、ストアのPR_STORE_SUPPORT_MASK (PidTagStoreSupportMask) プロパティにSTORE_RTF_OK フラグがない場合に示されます。

    1. メッセージの IMAPIProp::GetProps メソッドを呼び出して 、PR_RTF_IN_SYNC プロパティを取得します。 詳細については、「 IMAPIProp::GetProps and PR_RTF_IN_SYNC (PidTagRtfInSync)」を参照してください。

    2. RTFSync を呼び出して、メッセージの PR_BODY プロパティを PR_RTF_COMPRESSED プロパティと同期します。 詳細については、「RTFSync、PR_BODY、およびPR_RTF_COMPRESSED」を参照してください。 プロパティが存在しないか FALSE に設定されているため、 取得PR_RTF_IN_SYNC 呼び出しが失敗した場合は、RTF_SYNC_BODY_CHANGED フラグを渡します。

    3. RTFSync から TRUE が返された場合 (変更が行われたことを示します)、メッセージの IMAPIProp::SaveChanges メソッドを呼び出して永続的に格納します。 詳細については、「 IMAPIProp::SaveChanges」を参照してください。

  2. RTF 対応メッセージ ストアを使用しているかどうかに関係なく、

    1. IMAPIProp::OpenProperty を呼び出して、PR_RTF_COMPRESSED プロパティを開きます。 詳細については、「 IMAPIProp::OpenPropertyPR_RTF_COMPRESSED」を参照してください。

    2. PR_RTF_COMPRESSED使用できない場合は、OpenProperty を呼び出して、PR_BODY プロパティを開きます。

    3. WrapCompressedRTFStream 関数を呼び出して、圧縮された RTF データの非圧縮バージョンを作成します (使用可能な場合)。 詳細については、「 WrapCompressedRTFStream」を参照してください。

    4. ストリームからメッセージ フォーム内の適切な場所に書式設定されたテキストをコピーします。

プレーン メッセージ テキストを表示するには

  1. メッセージの IMAPIProp::GetProps メソッドを呼び出して 、PR_BODY プロパティを取得します。 詳細については、「 IMAPIProp::GetProps」を参照してください。

  2. GetProps がプロパティ値構造体またはMAPI_E_NOT_ENOUGH_MEMORYのプロパティ型のPT_ERRORを返す場合は、メッセージの IMAPIProp::OpenProperty メソッドを呼び出します。 PR_BODYをプロパティ タグとして渡し、インターフェイス識別子としてIID_IStreamします。 詳細については、「 IMAPIProp::OpenProperty」を参照してください。

  3. ストリームからメッセージ フォームの適切な場所にプレーン テキストをコピーします。