次の方法で共有


Office.Body interface

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

注釈

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

HTML テーブルの罫線の色に関する既知の問題

Outlook on Windows: Compose モードで HTML テーブルでさまざまなセルの罫線を異なる色に設定している場合、セルの罫線に期待される色が反映されない可能性があります。 既知の動作については、「 OfficeDev/office-js issue #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

const mailItem = Office.context.mailbox.item;
const base64String =
  "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";

// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
    // Insert the Base64-encoded image to the beginning of the body.
    const options = { isInline: true, asyncContext: bodyResult.value };
    mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
      if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
        let body = attachResult.asyncContext;
        body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);

        mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
          if (setResult.status === Office.AsyncResultStatus.Succeeded) {
            console.log("Inline Base64-encoded image added to the body.");
          } else {
            console.log(setResult.error.message);
          }
        });
      } else {
        console.log(attachResult.error.message);
      }
    });
  } else {
    console.log(bodyResult.error.message);
  }
});

メソッド

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)

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

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 実行している場合は、送信時機能の前に追加送信が実行されます。

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

  • appendOnSendAsyncの呼び出しからデータを消去するには、パラメーターを にnull設定して、もう一度data呼び出すことができます。

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

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

エラー:

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

  • InvalidFormatError : パラメーターは options.coercionTypeOffice.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 = $("#text-field").val();

// 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 実行している場合は、送信時機能の前に追加送信が実行されます。

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

  • appendOnSendAsyncの呼び出しからデータを消去するには、パラメーターを にnull設定して、もう一度data呼び出すことができます。

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

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

エラー:

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

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

getAsync(coercionType, options, callback)

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

このメソッドは、 で coercionType指定された形式で現在の本文全体を返します。

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

パラメーター

coercionType

Office.CoercionType | string

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

options
Office.AsyncContextOptions

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

callback

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

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

戻り値

void

注釈

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

最小アクセス許可レベル: アイテムの読み取り

適用できる Outlook モード: Composeまたは読み取り

重要:

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

  • Outlook on the webおよび新しい Outlook on Windows で、本文にテーブル、リスト、リンクなどの書式設定された要素が含まれている場合は、呼び出しで を指定Office.CoercionType.HtmlしますgetAsync。 それ以外の場合は、空の文字列などの予期しない値を受け取る可能性があります。

// This example gets the body of the item as plain text.
Office.context.mailbox.item.body.getAsync(
    "text",
    { asyncContext: "This is passed to the callback" },
    function callback(result) {
        // Do something with the result.
    });

// The following is an example of the result parameter passed to the callback function.
{
    "value": "TEXT of whole body (including threads below)",
    "status": "succeeded",
    "asyncContext": "This is passed to the callback"
}

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 型の 1 つのパラメーターで呼び出されます。 本文は、 プロパティの要求された形式で asyncResult.value 提供されます。

戻り値

void

注釈

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

最小アクセス許可レベル: アイテムの読み取り

適用できる Outlook モード: Composeまたは読み取り

重要:

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

  • Outlook on the webおよび新しい Outlook on Windows で、本文にテーブル、リスト、リンクなどの書式設定された要素が含まれている場合は、呼び出しで を指定Office.CoercionType.HtmlしますgetAsync。 それ以外の場合は、空の文字列などの予期しない値を受け取る可能性があります。

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

const mailItem = Office.context.mailbox.item;
const base64String =
  "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";

// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
    // Insert the Base64-encoded image to the beginning of the body.
    const options = { isInline: true, asyncContext: bodyResult.value };
    mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
      if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
        let body = attachResult.asyncContext;
        body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);

        mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
          if (setResult.status === Office.AsyncResultStatus.Succeeded) {
            console.log("Inline Base64-encoded image added to the body.");
          } else {
            console.log(setResult.error.message);
          }
        });
      } else {
        console.log(attachResult.error.message);
      }
    });
  } else {
    console.log(bodyResult.error.message);
  }
});

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

重要: Outlook on Android および iOS では、このメソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている 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

重要: Outlook on Android および iOS では、このメソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている 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" に設定することで、オンライン リンク プレビューを無効にすることができます (<サンプルについては、「」セクションを参照してください)。

  • Outlook on Android および iOS では、このメソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイス上の Outlook でサポートされている Outlook JavaScript API」を参照してください。

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

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

エラー:

  • 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 = $("#text-field").val().toString();

// 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" に設定することで、オンライン リンク プレビューを無効にすることができます (<サンプルについては、「」セクションを参照してください)。

  • Outlook on Android および iOS では、このメソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイス上の Outlook でサポートされている Outlook JavaScript API」を参照してください。

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

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

エラー:

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

setAsync(data, options, callback)

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

setAsync(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.3 ]

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

適用される Outlook モード: Compose

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

重要:

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

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

  • HTML マークアップにリンクを含める場合は、アンカー (a>) の属性を id "LPNoLP" に設定することで、オンライン リンク プレビューを無効にすることができます (<サンプルについては、「」セクションを参照してください)。

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

  • Outlook on Android および iOS では、このメソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイス上の Outlook でサポートされている Outlook JavaScript API」を参照してください。

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

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

エラー:

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

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

// When including links in HTML markup, you can disable online link preview
// by setting the id attribute on the anchor (<a>) to "LPNoLP".
Office.context.mailbox.item.body.setAsync(
    '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>',
    { 
        coercionType: Office.CoercionType.Html,
        asyncContext: "This is passed to the callback"
    },
    (result) => {
        // Process the result.
    }
);

// The following is an example of the result parameter passed to the callback function.
{
    "value": null,
    "status": "succeeded",
    "asyncContext": "This is passed to the callback"
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml

const mailItem = Office.context.mailbox.item;
const base64String =
  "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";

// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
    // Insert the Base64-encoded image to the beginning of the body.
    const options = { isInline: true, asyncContext: bodyResult.value };
    mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
      if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
        let body = attachResult.asyncContext;
        body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);

        mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
          if (setResult.status === Office.AsyncResultStatus.Succeeded) {
            console.log("Inline Base64-encoded image added to the body.");
          } else {
            console.log(setResult.error.message);
          }
        });
      } else {
        console.log(attachResult.error.message);
      }
    });
  } else {
    console.log(bodyResult.error.message);
  }
});

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 型の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは 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.getAsyncBody.setAsync以前に渡されたものとまったく同じ値であるとは限らないことに注意することが重要です。 クライアントは、 に渡された値を setAsync 変更して、レンダリング エンジンを使用して効率的にレンダリングできます。

  • HTML マークアップにリンクを含める場合は、アンカー (a>) の属性を id "LPNoLP" に設定することで、オンライン リンク プレビューを無効にすることができます (<サンプルについては、「」セクションを参照してください)。

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

  • Outlook on Android および iOS では、このメソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイス上の Outlook でサポートされている Outlook JavaScript API」を参照してください。

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

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

エラー:

  • 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" に設定することで、オンライン リンク プレビューを無効にすることができます (<サンプルについては、「」セクションを参照してください)。

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

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

エラー:

  • 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 = $("#text-field").val().toString();

// 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" に設定することで、オンライン リンク プレビューを無効にすることができます (<サンプルについては、「」セクションを参照してください)。

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

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

エラー:

  • 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 : 署名を設定する必要がある形式。 Text の場合、メソッドは署名をプレーン テキストに設定し、存在するすべての HTML タグを削除します。 Html の場合、メソッドは署名を HTML に設定します。

callback

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

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

戻り値

void

注釈

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

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

適用される Outlook モード: Compose

重要:

  • Outlook on the webおよび新しい Outlook on Windows では、setSignatureAsyncメッセージでのみ機能します。

  • このメソッドは、Android 上の Outlook とバージョン 4.2352.0 以降の iOS のメッセージ Composeでサポートされています。 サンプル シナリオについては、「Outlook モバイル アドインでイベント ベースのアクティブ化を実装する」を参照してください。Outlook モバイルでサポートされる API の詳細については、「モバイル デバイス上の Outlook でサポートされる Outlook JavaScript API」を参照してください。

  • setSignatureAsync動作は、マニフェストLaunchEvent を使用してイベント ベースのアクティブ化機能を実装するアドインのイベント ハンドラーで呼び出す場合に異なります。 ユーザーが新しいアイテム (返信または転送を含む) を作成すると、署名は設定されますが、フォームは変更されません。 つまり、ユーザーが他の編集を行わずにフォームを閉じると、変更を保存するように求められません。

  • SVG ファイルは、メール署名ではサポートされていません。 代わりに JPG または PNG ファイルを使用します。

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

エラー:

  • 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 = $("#signature").val() + "<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 = $("#signature").val();
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

重要:

  • Outlook on the webおよび新しい Outlook on Windows では、setSignatureAsyncメッセージでのみ機能します。

  • このメソッドは、Android 上の Outlook とバージョン 4.2352.0 以降の iOS のメッセージ Composeでサポートされています。 サンプル シナリオについては、「Outlook モバイル アドインでイベント ベースのアクティブ化を実装する」を参照してください。Outlook モバイルでサポートされる API の詳細については、「モバイル デバイス上の Outlook でサポートされる Outlook JavaScript API」を参照してください。

  • setSignatureAsync動作は、マニフェストLaunchEvent を使用してイベント ベースのアクティブ化機能を実装するアドインのイベント ハンドラーで呼び出す場合に異なります。 ユーザーが新しいアイテム (返信または転送を含む) を作成すると、署名は設定されますが、フォームは変更されません。 つまり、ユーザーが他の編集を行わずにフォームを閉じると、変更を保存するように求められません。

  • SVG ファイルは、メール署名ではサポートされていません。 代わりに JPG または PNG ファイルを使用します。

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

エラー:

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

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