Office.Body interface

body オブジェクトは、メッセージまたは予定のコンテンツを追加および更新するためのメソッドを提供します。 選択した項目の body プロパティで返されます。

注釈

API セット: メールボックス 1.1

メール アイテムの本文を取得または設定する方法については、「Outlook でメッセージまたは予定の本文を取得または設定する」を参照してください

HTML の表の罫線の色に関する既知の問題

Windows の Outlook:Compose モードで HTML テーブルのさまざまなセルの罫線を異なる色に設定すると、セルの罫線に期待される色が反映されないことがあります。 既知の動作については、 OfficeDev/office-js の問題 #1818 を参照してください。

最小アクセス許可レベル: 項目の読み取り

適用可能な Outlook モード: Composeまたは読み取り

使用元

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml

// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to get body: ${bodyResult.error.message}`);
    return;
  }

  // Add the Base64-encoded image to the end of the body.
  const options = { isInline: true, asyncContext: bodyResult.value };
  Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
    if (attachResult.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to attach file: ${attachResult.error.message}`);
      return;
    }

    let body = attachResult.asyncContext;
    body += '<img src="cid:sample.png" />';

    Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
      if (setResult.status === Office.AsyncResultStatus.Failed) {
        console.log(`Failed to set body: ${setResult.error.message}`);
        return;
      }
      
      console.log("Inline Base64-encoded image added to the end of the body.");
    });
  });
});

メソッド

appendOnSendAsync(data, options, callback)

送信時に、任意の署名の後に、指定したコンテンツをアイテム本文の末尾に追加します。

appendOnSendAsync を使用するには、マニフェストで補助アクセス許可を指定する必要があります。 詳細は、マニフェストの種類によって異なります。 「Outlook アドインのアクセス許可について」を参照してください。 送信時追加とその構成の詳細については、「Outlook アドインで送信時の追加を実装する」を参照してください

appendOnSendAsync(data, callback)

送信時に、任意の署名の後に、指定したコンテンツをアイテム本文の末尾に追加します。

appendOnSendAsync を使用するには、マニフェストで補助アクセス許可を指定する必要があります。 詳細は、マニフェストの種類によって異なります。 「Outlook アドインのアクセス許可について」を参照してください。 送信時追加とその構成の詳細については、「Outlook アドインで送信時の追加を実装する」を参照してください

getAsync(coercionType, options, callback)

現在の本文全体を、 coercionType で指定された形式で返します。

getAsync(coercionType, callback)

現在の本文全体を、 coercionType で指定された形式で返します。

getTypeAsync(options, callback)

コンテンツの形式が HTML とテキストのどちらであるかを示す値を取得します。

getTypeAsync(callback)

コンテンツの形式が HTML とテキストのどちらであるかを示す値を取得します。

prependAsync(data, options, callback)

アイテム本文の先頭に指定の内容を追加します。

prependAsync(data, callback)

アイテム本文の先頭に指定の内容を追加します。

prependOnSendAsync(data, options, callback)

メール アイテムを送信するときに、メッセージまたは予定の本文の先頭に HTML またはプレーン テキストを追加します。

prependOnSendAsync を使用するには、マニフェストで補助アクセス許可を指定する必要があります。 詳細は、マニフェストの種類によって異なります。 ガイダンスについては、「Outlook アドインのアクセス許可について」を参照してください。

prependOnSendAsync(data, callback)

メール アイテムを送信するときに、メッセージまたは予定の本文の先頭に HTML またはプレーン テキストを追加します。

prependOnSendAsync を使用するには、マニフェストで補助アクセス許可を指定する必要があります。 詳細は、マニフェストの種類によって異なります。 ガイダンスについては、「Outlook アドインのアクセス許可について」を参照してください。

setAsync(data, options, callback)

本文全体を指定されたテキストに置換します。

setAsync(data, callback)

本文全体を指定されたテキストに置換します。

setSelectedDataAsync(data, options, callback)

本文の選択部分を、指定のテキストに置き換えます。

setSelectedDataAsync メソッドは、指定された文字列をアイテムの本文のカーソル位置に挿入します。または、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが項目の本文になかった場合、または項目の本文が UI でフォーカスを失った場合、文字列は本文コンテンツの先頭に挿入されます。 挿入後、カーソルは挿入されたコンテンツの最後に置かれます。

setSelectedDataAsync(data, callback)

本文の選択部分を、指定のテキストに置き換えます。

setSelectedDataAsync メソッドは、指定された文字列をアイテムの本文のカーソル位置に挿入します。または、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが項目の本文になかった場合、または項目の本文が UI でフォーカスを失った場合、文字列は本文コンテンツの先頭に挿入されます。 挿入後、カーソルは挿入されたコンテンツの最後に置かれます。

setSignatureAsync(data, options, callback)

既存の署名がない場合は、アイテム本文に署名を追加します。 本文に署名が既にある場合は、その署名を置き換えます。

setSignatureAsync(data, callback)

既存の署名がない場合は、アイテム本文に署名を追加します。 本文に署名が既にある場合は、その署名を置き換えます。

メソッドの詳細

appendOnSendAsync(data, options, callback)

送信時に、任意の署名の後に、指定したコンテンツをアイテム本文の末尾に追加します。

appendOnSendAsync を使用するには、マニフェストで補助アクセス許可を指定する必要があります。 詳細は、マニフェストの種類によって異なります。 「Outlook アドインのアクセス許可について」を参照してください。 送信時追加とその構成の詳細については、「Outlook アドインで送信時の追加を実装する」を参照してください

appendOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

本文の末尾に追加される文字列。 文字列は 5,000 文字以内で指定してください。

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。 coercionType : 追加するデータの希望の形式。 パラメーター内の文字列は、この形式に変換されます。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error プロパティに表示されます。

返品

void

注釈

API セット: メールボックス 1.9

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

推奨:getTypeAsync を呼び出してから、戻り値を options.coercionType パラメーターに渡します。

重要:

  • ユーザーがマニフェスト内の ItemSend を使用して送信時機能を実装するアドインを実行している場合は、送信時の追加機能が送信時機能の前に実行されます。

  • アドインで送信時機能を実装し、ItemSend ハンドラーで appendOnSendAsync を呼び出した場合、このシナリオはサポートされていないため、appendOnSendAsync呼び出しはエラーを返します。

  • 前回の appendOnSendAsync 呼び出しからデータをクリアするには、 data パラメーターを null に設定してもう一度呼び出します。

  • SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用してください。

  • appendOnSendAsync メソッドはインライン CSS をサポートしていません。 代わりに内部または外部 CSS を使用します。

  • appendOnSendAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

エラー:

  • DataExceedsMaximumSize : data パラメーターが 5,000 文字を超えています。

  • InvalidFormatError : options.coercionType パラメーターは Office.CoercionType.Html に設定されていますが、メッセージ本文はプレーン テキストです。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/append-text-on-send.yaml

// This snippet appends text to the end of the message or appointment's body once it's sent.
const text = (document.getElementById("text-field") as HTMLInputElement).value;

// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the appendOnSendAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  const bodyFormat = asyncResult.value;
  Office.context.mailbox.item.body.appendOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.log("Action failed with error: " + asyncResult.error.message);
      return;
    }

    console.log(`"${text}" will be appended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
  });
});

appendOnSendAsync(data, callback)

送信時に、任意の署名の後に、指定したコンテンツをアイテム本文の末尾に追加します。

appendOnSendAsync を使用するには、マニフェストで補助アクセス許可を指定する必要があります。 詳細は、マニフェストの種類によって異なります。 「Outlook アドインのアクセス許可について」を参照してください。 送信時追加とその構成の詳細については、「Outlook アドインで送信時の追加を実装する」を参照してください

appendOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

本文の末尾に追加される文字列。 文字列は 5,000 文字以内で指定してください。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error プロパティに表示されます。

返品

void

注釈

API セット: メールボックス 1.9

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

推奨:getTypeAsync を呼び出してから、戻り値を options.coercionType パラメーターに渡します。

重要:

  • ユーザーがマニフェスト内の ItemSend を使用して送信時機能を実装するアドインを実行している場合は、送信時の追加機能が送信時機能の前に実行されます。

  • アドインで送信時機能を実装し、ItemSend ハンドラーで appendOnSendAsync を呼び出した場合、このシナリオはサポートされていないため、appendOnSendAsync呼び出しはエラーを返します。

  • 前回の appendOnSendAsync 呼び出しからデータをクリアするには、 data パラメーターを null に設定してもう一度呼び出します。

  • SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用してください。

  • appendOnSendAsync メソッドはインライン CSS をサポートしていません。 代わりに内部または外部 CSS を使用します。

  • appendOnSendAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

エラー:

  • DataExceedsMaximumSize : data パラメーターが 5,000 文字を超えています。

  • InvalidFormatError : options.coercionType パラメーターは Office.CoercionType.Html に設定されていますが、メッセージ本文はプレーン テキストです。

getAsync(coercionType, options, callback)

現在の本文全体を、 coercionType で指定された形式で返します。

getAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

パラメーター

coercionType

Office.CoercionType | string

返される本文の形式です。

options

Office.AsyncContextOptions & { bodyMode?: Office.MailboxEnums.BodyMode }

次のプロパティのうち 1 つ以上を含むオブジェクト リテラル。 asyncContext : コールバック関数でアクセスするデータ。 bodyMode : Outlook on the web、モバイル デバイス、および新しい Outlook on Windows で、現在のメッセージの本文のみを返すか、メッセージ会話の本文全体を返すかを指定します。 値が指定されていない場合、 bodyMode の既定値は Office.MailboxEnums.BodyMode.FullBody になり、メッセージ スレッドの本文全体が返されます。 bodyMode プロパティは、メッセージ Compose サーフェイスでの返信にのみ適用されます。 Windows (クラシック) の Outlook と Mac の Outlook では無視されます。

callback

(asyncResult: Office.AsyncResult<string>) => void

省略可能。 メソッドが完了すると、 callback パラメーターに渡された関数が Office.AsyncResult 型の単一のパラメーターで呼び出されます。 本文は、要求された形式で asyncResult.value プロパティで提供されます。

返品

void

注釈

API セット: メールボックス 1.3

最小アクセス許可レベル: 項目の読み取り

適用可能な Outlook モード: Composeまたは読み取り

重要:

  • HTML 形式の本文を操作する場合、 Body.getAsync メソッドによって返される値が、以前の Body.setAsync メソッドで渡された値と必ずしもまったく同じであるとは限らないことに注意してください。 クライアントは、レンダリング エンジンで効率的にレンダリングできるように、 setAsync に渡される値を変更できます。

  • Windows のOutlook on the webおよび新しい Outlook では、getAsync呼び出しに Office.CoercionType.Text を指定しても、常に信頼できる書式設定が提供されるとは限りません。 代わりに Office.CoercionType.Html を指定します。本文に書式設定された要素 (テーブル、リスト、リンクなど) が含まれている場合は特に、

  • Outlook on the web と新しい Outlook on Windows では、ユーザーは [設定]>メール>レイアウト>メッセージ organizationで会話または個々のメッセージとしてメッセージを整理できます (「Outlook でのメッセージ一覧の表示方法を変更する」を参照)。 この設定は、メッセージの本文のうち、ユーザーに表示される内容 (つまり、メッセージのスレッド全体、または現在のメッセージのみ) に影響します。 メッセージ Compose モードでは、特に複数のメッセージを含む会話スレッドへの返信の場合、返される本文にユーザーの設定を反映する場合は、getAsync呼び出しで bodyMode: Office.MailboxEnums.BodyMode.HostConfig パラメーターを指定します。 メッセージがスレッド別にグループ化されている場合は、現在の返信の本文のみが返されます。 逆に、メッセージが個別に表示される場合は、スレッド全体が返されます。

  • モバイル デバイスの Outlook では、バージョン 4.2538.0 から bodyMode プロパティを使用できます。

  • モバイル デバイスの Outlook では、 bodyMode: Office.MailboxEnums.BodyMode.HostConfig を指定すると現在の返信の本文が返されます。

  • モバイル デバイスの Outlook では、クイック返信モード (メッセージの下部にある返信フィールド) の場合、現在の返信の本文のみが返されます。 これは、getAsync呼び出しで bodyMode: Office.MailboxEnums.BodyMode.FullBody が指定されている場合でも適用されます。

  • bodyMode オプションは、loadItemByIdAsync メソッドを使用して読み込まれたメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

getAsync(coercionType, callback)

現在の本文全体を、 coercionType で指定された形式で返します。

getAsync(coercionType: Office.CoercionType | string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

パラメーター

coercionType

Office.CoercionType | string

返される本文の形式です。

callback

(asyncResult: Office.AsyncResult<string>) => void

省略可能。 メソッドが完了すると、 callback パラメーターに渡された関数が Office.AsyncResult 型の単一のパラメーターで呼び出されます。 本文は、要求された形式で asyncResult.value プロパティで提供されます。

返品

void

注釈

API セット: メールボックス 1.3

最小アクセス許可レベル: 項目の読み取り

適用可能な Outlook モード: Composeまたは読み取り

重要:

  • HTML 形式の本文を操作する場合、 Body.getAsync メソッドによって返される値が、以前の Body.setAsync メソッドで渡された値と必ずしもまったく同じであるとは限らないことに注意してください。 クライアントは、レンダリング エンジンで効率的にレンダリングできるように、 setAsync に渡される値を変更できます。

  • Windows のOutlook on the webおよび新しい Outlook では、getAsync呼び出しに Office.CoercionType.Text を指定しても、常に信頼できる書式設定が提供されるとは限りません。 代わりに Office.CoercionType.Html を指定します。本文に書式設定された要素 (テーブル、リスト、リンクなど) が含まれている場合は特に、

  • Outlook on the web と新しい Outlook on Windows では、ユーザーは [設定]>メール>レイアウト>メッセージ organizationで会話または個々のメッセージとしてメッセージを整理できます (「Outlook でのメッセージ一覧の表示方法を変更する」を参照)。 この設定は、メッセージの本文のうち、ユーザーに表示される内容 (つまり、メッセージのスレッド全体、または現在のメッセージのみ) に影響します。 メッセージ Compose モードでは、特に複数のメッセージを含む会話スレッドへの返信の場合、返される本文にユーザーの設定を反映する場合は、getAsync呼び出しで bodyMode: Office.MailboxEnums.BodyMode.HostConfig パラメーターを指定します。 メッセージがスレッド別にグループ化されている場合は、現在の返信の本文のみが返されます。 逆に、メッセージが個別に表示される場合は、スレッド全体が返されます。

  • モバイル デバイスの Outlook では、バージョン 4.2538.0 から bodyMode プロパティを使用できます。

  • モバイル デバイスの Outlook では、 bodyMode: Office.MailboxEnums.BodyMode.HostConfig を指定すると現在の返信の本文が返されます。

  • モバイル デバイスの Outlook では、クイック返信モード (メッセージの下部にある返信フィールド) の場合、現在の返信の本文のみが返されます。 これは、getAsync呼び出しで bodyMode: Office.MailboxEnums.BodyMode.FullBody が指定されている場合でも適用されます。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml

// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to get body: ${bodyResult.error.message}`);
    return;
  }

  // Add the Base64-encoded image to the end of the body.
  const options = { isInline: true, asyncContext: bodyResult.value };
  Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
    if (attachResult.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to attach file: ${attachResult.error.message}`);
      return;
    }

    let body = attachResult.asyncContext;
    body += '<img src="cid:sample.png" />';

    Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
      if (setResult.status === Office.AsyncResultStatus.Failed) {
        console.log(`Failed to set body: ${setResult.error.message}`);
        return;
      }
      
      console.log("Inline Base64-encoded image added to the end of the body.");
    });
  });
});

getTypeAsync(options, callback)

コンテンツの形式が HTML とテキストのどちらであるかを示す値を取得します。

getTypeAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;

パラメーター

options
Office.AsyncContextOptions

次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。

callback

(asyncResult: Office.AsyncResult<Office.CoercionType>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 コンテンツ タイプは、asyncResult.value プロパティのCoercionType値の 1 つとして返されます。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り

適用可能な Outlook モード: Compose

重要: Android 版および iOS 版の Outlook では、この方法は Message Compose モードではサポートされていません。 予定の主催者モードのみがサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-body-format.yaml

// Get the mail item's body format (plain text or HTML) and log it to the console.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  console.log("Body format: " + asyncResult.value);
});

getTypeAsync(callback)

コンテンツの形式が HTML とテキストのどちらであるかを示す値を取得します。

getTypeAsync(callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;

パラメーター

callback

(asyncResult: Office.AsyncResult<Office.CoercionType>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 コンテンツ タイプは、asyncResult.value プロパティのCoercionType値の 1 つとして返されます。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り

適用可能な Outlook モード: Compose

重要: Android 版および iOS 版の Outlook では、この方法は Message Compose モードではサポートされていません。 予定の主催者モードのみがサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください

prependAsync(data, options, callback)

アイテム本文の先頭に指定の内容を追加します。

prependAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

本文の先頭に挿入する文字列。 文字列の最大長は 1,000,000 文字です。

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。 coercionType : 本文に必要な形式。 パラメーター内の文字列は、この形式に変換されます。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error プロパティに表示されます。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

推奨:getTypeAsync を呼び出し、戻り値を options.coercionType パラメーターに渡します。

重要:

  • コンテンツが先頭に追加された後、カーソルの位置は、アドインが実行されているクライアントによって異なります。 Outlook on the web および Windows (新規およびクラシック) では、本文の既存のコンテンツ内でカーソルの位置は変わりません。 たとえば、 prependAsync 呼び出しの前にカーソルが本文の先頭に配置されていた場合、呼び出し後には、先頭に追加された本文のコンテンツと既存のコンテンツの間にカーソルが表示されます。 Outlook on Mac では、カーソル位置は保持されません。 prependAsync呼び出し後、カーソルは消え、ユーザーがメール アイテムの本文で何かを選択したときにのみ再表示されます。

  • HTML 形式の本文を操作する場合、クライアントはレンダリング エンジンで効率的にレンダリングできるように、 prependAsync に渡される値を変更する可能性があることに注意してください。 つまり、(メールボックス 1.3 で導入された) Body.getAsync メソッドの後続の呼び出しから返される値には、必ずしも前の prependAsync 呼び出しで渡された正確な値が含まれるとは限りません。

  • HTML マークアップにリンクを含める場合、アンカー (<a>) の id 属性を "LPNoLP" に設定することで、オンライン リンク プレビューを無効にできます。 たとえば、「 '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'」と入力します。

  • Android 版および iOS 版の Outlook では、この方法は Message Compose モードではサポートされません。 予定の主催者モードのみがサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください

  • SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用してください。

  • prependAsync メソッドはインライン CSS をサポートしていません。 代わりに内部または外部 CSS を使用します。

  • prependAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

エラー:

  • DataExceedsMaximumSize : データ パラメーターが 1,000,000 文字を超えています。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-to-item-body.yaml

/* This snippet adds text to the beginning of the message or appointment's body. 

  When prepending a link in HTML markup to the body, you can disable the online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="https://www.contoso.com">Click here!</a>'.
*/
const text = (document.getElementById("text-field") as HTMLInputElement).value;

// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  const bodyFormat = asyncResult.value;
  Office.context.mailbox.item.body.prependAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.log("Action failed with error: " + asyncResult.error.message);
      return;
    }

    console.log(`"${text}" prepended to the body.`);
  });
});

prependAsync(data, callback)

アイテム本文の先頭に指定の内容を追加します。

prependAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

本文の先頭に挿入する文字列。 文字列の最大長は 1,000,000 文字です。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error プロパティに表示されます。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

推奨:getTypeAsync を呼び出し、戻り値を options.coercionType パラメーターに渡します。

重要:

  • コンテンツが先頭に追加された後、カーソルの位置は、アドインが実行されているクライアントによって異なります。 Outlook on the web および Windows (新規およびクラシック) では、本文の既存のコンテンツ内でカーソルの位置は変わりません。 たとえば、 prependAsync 呼び出しの前にカーソルが本文の先頭に配置されていた場合、呼び出し後には、先頭に追加された本文のコンテンツと既存のコンテンツの間にカーソルが表示されます。 Outlook on Mac では、カーソル位置は保持されません。 prependAsync呼び出し後、カーソルは消え、ユーザーがメール アイテムの本文で何かを選択したときにのみ再表示されます。

  • HTML 形式の本文を操作する場合、クライアントはレンダリング エンジンで効率的にレンダリングできるように、 prependAsync に渡される値を変更する可能性があることに注意してください。 つまり、(メールボックス 1.3 で導入された) Body.getAsync メソッドの後続の呼び出しから返される値には、必ずしも前の prependAsync 呼び出しで渡された正確な値が含まれるとは限りません。

  • HTML マークアップにリンクを含める場合、アンカー (<a>) の id 属性を "LPNoLP" に設定することで、オンライン リンク プレビューを無効にできます。 たとえば、「 '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'」と入力します。

  • Android 版および iOS 版の Outlook では、この方法は Message Compose モードではサポートされません。 予定の主催者モードのみがサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください

  • SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用してください。

  • prependAsync メソッドはインライン CSS をサポートしていません。 代わりに内部または外部 CSS を使用します。

  • prependAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

エラー:

  • DataExceedsMaximumSize : データ パラメーターが 1,000,000 文字を超えています。

prependOnSendAsync(data, options, callback)

メール アイテムを送信するときに、メッセージまたは予定の本文の先頭に HTML またはプレーン テキストを追加します。

prependOnSendAsync を使用するには、マニフェストで補助アクセス許可を指定する必要があります。 詳細は、マニフェストの種類によって異なります。 ガイダンスについては、「Outlook アドインのアクセス許可について」を参照してください。

prependOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

メッセージまたは予定の本文の先頭に追加される文字列。 文字列は 5,000 文字以内で指定してください。

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: コールバック関数でアクセスできるオブジェクト。 coercionType : 本文に必要な形式。 data パラメーターの文字列は、この形式に変換されます。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error プロパティに表示されます。

返品

void

注釈

API セット: メールボックス 1.13

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

推奨:getTypeAsync を呼び出してから、戻り値を options.coercionType パラメーターに渡します。

重要: prependOnSendAsync を実装するときは、次の点に注意してください。

  • スマート アラート アドインでは、送信時のプレペンド機能が最初に実行されます。

  • 先頭に追加されたコンテンツの後に新しい行が追加されます。

  • 複数のアクティブなアドインが prependOnSendAsync を呼び出す場合、挿入されるコンテンツの順序は、アドインの実行順序によって変わります。 前回実行したアドインのコンテンツが、前に追加されたコンテンツの上に表示されます。

  • アドインがプレーン テキスト本文に HTML を挿入しようとしても、コンテンツは先頭に追加されません。 逆に、プレーン テキストが HTML 本文に挿入されます。

  • SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用してください。

  • prependOnSendAsync メソッドはインライン CSS をサポートしていません。 代わりに内部または外部 CSS を使用します。

  • prependOnSendAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

エラー:

  • DataExceedsMaximumSize : data パラメーターが 5,000 文字を超えています。

  • InvalidFormatError : options.coercionType パラメーターは Office.CoercionType.Html に設定されていますが、アイテム本文はプレーン テキスト形式です。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-on-send.yaml

// This snippet prepends text to the beginning of the message or appointment's body once it's sent.
const text = (document.getElementById("text-field") as HTMLInputElement).value;

// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependOnSendAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  const bodyFormat = asyncResult.value;
  Office.context.mailbox.item.body.prependOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.log("Action failed with error: " + asyncResult.error.message);
      return;
    }

    console.log(`"${text}" will be prepended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
  });
});

prependOnSendAsync(data, callback)

メール アイテムを送信するときに、メッセージまたは予定の本文の先頭に HTML またはプレーン テキストを追加します。

prependOnSendAsync を使用するには、マニフェストで補助アクセス許可を指定する必要があります。 詳細は、マニフェストの種類によって異なります。 ガイダンスについては、「Outlook アドインのアクセス許可について」を参照してください。

prependOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

メッセージまたは予定の本文の先頭に追加される文字列。 文字列は 5,000 文字以内で指定してください。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error プロパティに表示されます。

返品

void

注釈

API セット: メールボックス 1.13

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

推奨:getTypeAsync を呼び出してから、戻り値を options.coercionType パラメーターに渡します。

重要: prependOnSendAsync を実装するときは、次の点に注意してください。

  • スマート アラート アドインでは、送信時のプレペンド機能が最初に実行されます。

  • 先頭に追加されたコンテンツの後に新しい行が追加されます。

  • 複数のアクティブなアドインが prependOnSendAsync を呼び出す場合、挿入されるコンテンツの順序は、アドインの実行順序によって変わります。 前回実行したアドインのコンテンツが、前に追加されたコンテンツの上に表示されます。

  • アドインがプレーン テキスト本文に HTML を挿入しようとしても、コンテンツは先頭に追加されません。 逆に、プレーン テキストが HTML 本文に挿入されます。

  • SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用してください。

  • prependOnSendAsync メソッドはインライン CSS をサポートしていません。 代わりに内部または外部 CSS を使用します。

  • prependOnSendAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

エラー:

  • DataExceedsMaximumSize : data パラメーターが 5,000 文字を超えています。

  • InvalidFormatError : options.coercionType パラメーターは Office.CoercionType.Html に設定されていますが、アイテム本文はプレーン テキスト形式です。

setAsync(data, options, callback)

本文全体を指定されたテキストに置換します。

setAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

既存の本文を置き換える文字列。 文字列の最大長は 1,000,000 文字です。

options

Office.AsyncContextOptions & Office.CoercionTypeOptions & { bodyMode?: Office.MailboxEnums.BodyMode }

次のプロパティのうち 1 つ以上を含むオブジェクト リテラル。 asyncContext : コールバック関数でアクセスするデータ。 coercionType : 本文に必要な形式。 data パラメーターの文字列は、この形式に変換されます。 bodyMode : Outlook on the web と新しい Outlook on Windows で、現在のメッセージの本文のみを設定するか、メッセージの会話の本文全体を設定するかを指定します。 値が指定されていない場合、 bodyMode の既定値は Office.MailboxEnums.BodyMode.FullBody になり、会話スレッド内の以前のメッセージを含む本文全体が置き換えられます。 bodyMode プロパティは、メッセージ Compose サーフェイスでの返信にのみ適用されます。 Windows (クラシック)、Mac、モバイル デバイスの Outlook では無視されます。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターに渡された関数が Office.AsyncResult 型の単一のパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error プロパティに表示されます。

返品

void

注釈

API セット: メールボックス 1.3

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

推奨:getTypeAsync を呼び出し、戻り値を options.coercionType パラメーターに渡します。

重要:

  • 本文が指定されたコンテンツに置き換えられた後、カーソルの位置は、アドインが実行されているクライアントによって異なります。 従来の Outlook on Windows では、カーソルはメール アイテムの本文の先頭に表示されます。 Outlook on the web および新しい Outlook on Windows では、カーソルはメール アイテムの本文の末尾に表示されます。 Outlook on Mac では、カーソル位置は保持されません。 prependAsync呼び出し後、カーソルは消え、ユーザーがメール アイテムの本文で何かを選択したときにのみ再表示されます。

  • HTML 形式の本文を操作する場合、 Body.getAsync メソッドによって返される値が、以前の Body.setAsync メソッドで渡された値と必ずしもまったく同じであるとは限らないことに注意してください。 クライアントは、レンダリング エンジンで効率的にレンダリングできるように、 setAsync に渡される値を変更できます。

  • HTML マークアップにリンクを含める場合、アンカー (<a>) の id 属性を "LPNoLP" に設定することで、オンライン リンク プレビューを無効にできます。 たとえば、「 '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'」と入力します。

  • Windows (クラシック) および Mac 上の Outlook では、アドイン ユーザーは [ 元に戻 す] コマンドを使用してこの操作を元に戻すことはできません。

  • Android 版および iOS 版の Outlook では、この方法は Message Compose モードではサポートされません。 予定の主催者モードのみがサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください

  • SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用してください。

  • setAsync メソッドはインライン CSS をサポートしていません。 代わりに内部または外部 CSS を使用します。

  • setAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

  • Windows 上の Outlook on the web および新しい Outlook では、ユーザーは [設定]>メール>レイアウト>メッセージ organizationで会話または個々のメッセージとしてメッセージを整理できます (「Outlook でのメッセージ一覧の表示方法を変更する」を参照)。 この設定は、メッセージの本文のうち、ユーザーに表示される内容 (つまり、メッセージのスレッド全体、または現在のメッセージのみ) に影響します。 メッセージ Compose モードでは、特に複数のメッセージを含む会話スレッドへの返信の場合、メッセージの本文を設定するときにユーザーの設定を優先する場合は、setAsync呼び出しで bodyMode: Office.MailboxEnums.BodyMode.HostConfig パラメーターを指定します。 メッセージがスレッド別にグループ化されている場合は、現在の返信の本文のみが設定されます。 逆に、メッセージが個別に表示される場合は、会話スレッド内の以前のメッセージを含む本文全体が置き換えられます。

  • Windows 上の Outlook on the web および新しい Outlook では、bodyMode プロパティが指定されていないか、Office.MailboxEnums.BodyMode.FullBody に設定されている場合、スレッドからの以前のメッセージを含むメッセージの本文全体が置き換えられます。 これは、ユーザーのメッセージが会話ごとに整理されている場合でも当てはまります。 このシナリオでは、ユーザーの設定は一時的に [個別メッセージ] に変更されます。setAsync通話中に、メッセージをグループ化しない>1 つのメッセージのみ、または [メールを個別のメッセージとして表示] に変更します。 この変更を知らせるための通知がユーザーに表示されます。 呼び出しが完了すると、ユーザーの設定が復元されます。

エラー:

  • DataExceedsMaximumSize : データ パラメーターが 1,000,000 文字を超えています。

  • InvalidFormatError : options.coercionType パラメーターは Office.CoercionType.Html に設定され、メッセージ本文はプレーン テキストです。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml

// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to get body: ${bodyResult.error.message}`);
    return;
  }

  // Add the Base64-encoded image to the end of the body.
  const options = { isInline: true, asyncContext: bodyResult.value };
  Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
    if (attachResult.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to attach file: ${attachResult.error.message}`);
      return;
    }

    let body = attachResult.asyncContext;
    body += '<img src="cid:sample.png" />';

    Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
      if (setResult.status === Office.AsyncResultStatus.Failed) {
        console.log(`Failed to set body: ${setResult.error.message}`);
        return;
      }
      
      console.log("Inline Base64-encoded image added to the end of the body.");
    });
  });
});

setAsync(data, callback)

本文全体を指定されたテキストに置換します。

setAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

既存の本文を置換する文字列。 文字列の長さは 1,000,000 文字までに制限されています。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターに渡された関数が Office.AsyncResult 型の単一のパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error プロパティに表示されます。

返品

void

注釈

API セット: メールボックス 1.3

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

推奨:getTypeAsync を呼び出し、戻り値を options.coercionType パラメーターに渡します。

重要:

  • 本文が指定されたコンテンツに置き換えられた後、カーソルの位置は、アドインが実行されているクライアントによって異なります。 従来の Outlook on Windows では、カーソルはメール アイテムの本文の先頭に表示されます。 Outlook on the web および新しい Outlook on Windows では、カーソルはメール アイテムの本文の末尾に表示されます。 Outlook on Mac では、カーソル位置は保持されません。 prependAsync呼び出し後、カーソルは消え、ユーザーがメール アイテムの本文で何かを選択したときにのみ再表示されます。

  • HTML 形式の本文を操作する場合、 Body.getAsync メソッドによって返される値が、以前の Body.setAsync メソッドで渡された値と必ずしもまったく同じであるとは限らないことに注意してください。 クライアントは、レンダリング エンジンで効率的にレンダリングできるように、 setAsync に渡される値を変更できます。

  • HTML マークアップにリンクを含める場合、アンカー (<a>) の id 属性を "LPNoLP" に設定することで、オンライン リンク プレビューを無効にできます。 たとえば、「 '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'」と入力します。

  • Windows (クラシック) および Mac 上の Outlook では、アドイン ユーザーは [ 元に戻 す] コマンドを使用してこの操作を元に戻すことはできません。

  • Android 版および iOS 版の Outlook では、この方法は Message Compose モードではサポートされません。 予定の主催者モードのみがサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください

  • SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用してください。

  • setAsync メソッドはインライン CSS をサポートしていません。 代わりに内部または外部 CSS を使用します。

  • setAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

  • Windows 上の Outlook on the web および新しい Outlook では、ユーザーは [設定]>メール>レイアウト>メッセージ organizationで会話または個々のメッセージとしてメッセージを整理できます (「Outlook でのメッセージ一覧の表示方法を変更する」を参照)。 この設定は、メッセージの本文のうち、ユーザーに表示される内容 (つまり、メッセージのスレッド全体、または現在のメッセージのみ) に影響します。 メッセージ Compose モードでは、特に複数のメッセージを含む会話スレッド内の応答の場合、メッセージの本文を設定するときにユーザーの設定を優先する場合は、setAsync呼び出しで bodyMode: Office.MailboxEnums.BodyMode.HostConfig パラメーターを指定します。 メッセージがスレッド別にグループ化されている場合は、現在の返信の本文のみが設定されます。 逆に、メッセージが個別に表示される場合は、会話スレッド内の以前のメッセージを含む本文全体が置き換えられます。

  • Windows 上の Outlook on the web および新しい Outlook では、bodyMode プロパティが指定されていないか、Office.MailboxEnums.BodyMode.FullBody に設定されている場合、スレッドからの以前のメッセージを含むメッセージの本文全体が置き換えられます。 これは、ユーザーのメッセージが会話ごとに整理されている場合でも当てはまります。 このシナリオでは、ユーザーの設定は一時的に [個別メッセージ] に変更されます。setAsync通話中に、メッセージをグループ化しない>1 つのメッセージのみ、または [メールを個別のメッセージとして表示] に変更します。 この変更を知らせるための通知がユーザーに表示されます。 呼び出しが完了すると、ユーザーの設定が復元されます。

エラー:

  • DataExceedsMaximumSize : データ パラメーターが 1,000,000 文字を超えています。

  • InvalidFormatError : options.coercionType パラメーターは Office.CoercionType.Html に設定され、メッセージ本文はプレーン テキストです。

setSelectedDataAsync(data, options, callback)

本文の選択部分を、指定のテキストに置き換えます。

setSelectedDataAsync メソッドは、指定された文字列をアイテムの本文のカーソル位置に挿入します。または、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが項目の本文になかった場合、または項目の本文が UI でフォーカスを失った場合、文字列は本文コンテンツの先頭に挿入されます。 挿入後、カーソルは挿入されたコンテンツの最後に置かれます。

setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

既存の本文を置換する文字列。 文字列の長さは 1,000,000 文字までに制限されています。

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。 coercionType : 本文に必要な形式。 パラメーター内の文字列は、この形式に変換されます。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error プロパティに表示されます。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

推奨: getTypeAsync を呼び出し、戻り値を options.coercionType パラメーターに渡します。

重要:

  • HTML マークアップにリンクを含める場合、アンカー (<a>) の id 属性を "LPNoLP" に設定することで、オンライン リンク プレビューを無効にできます。 たとえば、「 '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'」と入力します。

  • SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用してください。

  • setSelectedDataAsync メソッドはインライン CSS をサポートしていません。 代わりに内部または外部 CSS を使用します。

  • setSelectedDataAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

エラー:

  • DataExceedsMaximumSize : data パラメーターが 1,000,000 文字より長くなっています。

  • InvalidFormatError : options.coercionType パラメーターは Office.CoercionType.Html に設定され、メッセージ本文はプレーン テキストです。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/replace-selected-text.yaml

/* This snippet replaces selected text in a message or appointment's body with specified text.

  If you want to use a link in HTML markup as a value of the setSelectedDataAsync call's data parameter, you can disable online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="https://www.contoso.com">Click here!</a>'.
*/
const text = (document.getElementById("text-field") as HTMLInputElement).value;

// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  const bodyFormat = asyncResult.value;
  Office.context.mailbox.item.body.setSelectedDataAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.log("Action failed with error: " + asyncResult.error.message);
      return;
    }

    console.log(`Replaced selected text with "${text}".`);
  });
});

setSelectedDataAsync(data, callback)

本文の選択部分を、指定のテキストに置き換えます。

setSelectedDataAsync メソッドは、指定された文字列をアイテムの本文のカーソル位置に挿入します。または、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが項目の本文になかった場合、または項目の本文が UI でフォーカスを失った場合、文字列は本文コンテンツの先頭に挿入されます。 挿入後、カーソルは挿入されたコンテンツの最後に置かれます。

setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

既存の本文を置換する文字列。 文字列の長さは 1,000,000 文字までに制限されています。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error プロパティに表示されます。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

推奨: getTypeAsync を呼び出し、戻り値を options.coercionType パラメーターに渡します。

重要:

  • HTML マークアップにリンクを含める場合、アンカー (<a>) の id 属性を "LPNoLP" に設定することで、オンライン リンク プレビューを無効にできます。 たとえば、「 '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'」と入力します。

  • SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用してください。

  • setSelectedDataAsync メソッドはインライン CSS をサポートしていません。 代わりに内部または外部 CSS を使用します。

  • setSelectedDataAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

エラー:

  • DataExceedsMaximumSize : data パラメーターが 1,000,000 文字より長くなっています。

  • InvalidFormatError : options.coercionType パラメーターは Office.CoercionType.Html に設定され、メッセージ本文はプレーン テキストです。

setSignatureAsync(data, options, callback)

既存の署名がない場合は、アイテム本文に署名を追加します。 本文に署名が既にある場合は、その署名を置き換えます。

setSignatureAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

メールの本文に設定する署名を表す文字列。 この文字列は 30,000 文字以内に制限されています。

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。 coercionType : 署名を設定する必要がある形式。 テキストの場合、メソッドは署名をプレーン テキストに設定し、存在する HTML タグを削除します。 Html の場合、メソッドは署名を HTML に設定します。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。

返品

void

注釈

API セット: メールボックス 1.10

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

重要:

エラー:

  • DataExceedsMaximumSize : data パラメーターが 30,000 文字を超えています。

  • InvalidFormatError : options.coercionType パラメーターは Office.CoercionType.Html に設定され、メッセージ本文はプレーン テキストです。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml

// Set the signature for the current item with inline image.
const modIcon1Base64 = "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRDMxMDg1MjBCNDZFMTExODE2MkM1RUI2M0M4MDYxRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTUxQjgyRjQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTUxQjgyRTQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQxMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNEMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uC/WfAAAAehJREFUeNpilCzfwEAEkAbiECA2A2J1IOaHin8E4ptAfBaIVwLxU0IGMRKw0B6IW4DYhoE4cASIK6E0VsCEQ1wUiNcB8QESLGOAqj0MxBuhZhBloS4QnwHiQAbygR/UDF1CFupCXSjHQDmQg5qli8tCUBBsQUoQ1AD8UDNFsVk4n0o+w+bT+egWglKjNymmeGhLkqLcG2oHAwtUoIuQDj5OVgZPLUmwRe5aEmAxqYqNpFgKssOcCeplM0KqdST5GfpDDRm0JfkYrj3/SE7QguyQY4ImYYLgCtAS10kHGMw6dzNsv/qC7OwCClJXYlR++v6b4er3j5QmIFcmaNlIL6AOslCIjhYKMTHQGTBBqxh6gXcgC6/R0cKbIAv30dHCfaAKGJTxHxJSqS3Fz9DkowNmywpyMcgA8fF7b8D8VWcfM6w8+4gYC+VB+RCk8hSh0gaUD4/dewvlvUWRe/z+GzGWgex4BGtiOAHxXhoHpzMoSGHZAhSPW2lo2VZYWkHOh4nEtLrIAE+hZmNUwK+B2BOIv1PRsu9QM1/jatNcBtVZ0IREKXgENesyoVYbzNIdFFi2A5tl+NqlL6BB4QBNzsSCU1A9nlAzMAALAQMOQl0qB23qWwKxIlIrDBQ394H4OBCvISYqAAIMACVibHDqsO7zAAAAAElFTkSuQmCC";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
  modIcon1Base64,
  "myImage.png",
  { isInline: true },
  function(result) {
    if (result.status == Office.AsyncResultStatus.Succeeded) {
      const signature = (document.getElementById("signature") as HTMLInputElement).value + "<img src='cid:myImage.png'>";
      console.log(`Setting signature to "${signature}".`);
      Office.context.mailbox.item.body.setSignatureAsync(
        signature,
        { coercionType: "html" },
        function(asyncResult) {
          console.log(`setSignatureAsync: ${asyncResult.status}`);
        }
      );
    } else {
      console.error(`addFileAttachmentFromBase64Async: ${result.error}`);
    }
  }
);

...

// Set the signature for the current item.
const signature = (document.getElementById("signature") as HTMLInputElement).value;
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(signature, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("setSignatureAsync succeeded");
  } else {
    console.error(asyncResult.error);
  }
});

setSignatureAsync(data, callback)

既存の署名がない場合は、アイテム本文に署名を追加します。 本文に署名が既にある場合は、その署名を置き換えます。

setSignatureAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

data

string

メールの本文に設定する署名を表す文字列。 この文字列は 30,000 文字以内に制限されています。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。

返品

void

注釈

API セット: メールボックス 1.10

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

重要:

エラー:

  • DataExceedsMaximumSize : data パラメーターが 30,000 文字を超えています。

  • InvalidFormatError : options.coercionType パラメーターは Office.CoercionType.Html に設定され、メッセージ本文はプレーン テキストです。