Office.Body interface
body オブジェクトは、メッセージまたは予定の内容を追加および更新するためのメソッドを提供します。 選択した項目の body プロパティで返されます。
注釈
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);
}
});
メソッド
append |
を追加すると、指定したコンテンツを、署名の後のアイテム本文の末尾に送信します。
|
append |
を追加すると、指定したコンテンツを、署名の後のアイテム本文の末尾に送信します。
|
get |
現在の本文を指定された形式で返します。 このメソッドは、現在の本文全体を、 |
get |
現在の本文を指定された形式で返します。 このメソッドは、現在の本文全体を、 |
get |
コンテンツの形式が HTML とテキストのどちらであるかを示す値を取得します。 |
get |
コンテンツの形式が HTML とテキストのどちらであるかを示す値を取得します。 |
prepend |
アイテム本文の先頭に指定の内容を追加します。 |
prepend |
アイテム本文の先頭に指定の内容を追加します。 |
prepend |
メール アイテムの送信時に、メッセージまたは予定本文の先頭に HTML またはプレーン テキストを付加します。
|
prepend |
メール アイテムの送信時に、メッセージまたは予定本文の先頭に HTML またはプレーン テキストを付加します。
|
set |
本文全体を指定されたテキストに置換します。 |
set |
本文全体を指定されたテキストに置換します。 |
set |
本文の選択部分を、指定のテキストに置き換えます。
|
set |
本文の選択部分を、指定のテキストに置き換えます。
|
set |
既存の署名がない場合は、アイテム本文に署名を追加します。 本文に既に署名がある場合は、その署名を置き換えます。 |
set |
既存の署名がない場合は、アイテム本文に署名を追加します。 本文に既に署名がある場合は、その署名を置き換えます。 |
メソッドの詳細
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 文字に制限されています。
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
coercionType
: 追加するデータの目的の形式。 パラメーター内の文字列は、この形式に変換されます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback
パラメーターで渡された関数が、 Office.AsyncResult
型の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error
プロパティに表示されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: Compose
推奨: getTypeAsync
を呼び出し、返された値を options.coercionType
パラメーターに渡します。
重要:
ユーザーがマニフェストで
ItemSend
を使用して送信時機能を実装するアドインを実行している場合は、送信時機能の前に append-on-send が実行されます。アドインが送信時機能を実装し、
ItemSend
ハンドラーでappendOnSendAsync
を呼び出す場合、このシナリオはサポートされていないため、appendOnSendAsync
呼び出しはエラーを返します。前の
appendOnSendAsync
呼び出しからデータを消去するには、data
パラメーターをnull
に設定して、再度呼び出すことができます。SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用します。
appendOnSendAsync
メソッドでは、インライン CSS はサポートされていません。 代わりに、内部 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 = $("#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
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: Compose
推奨: getTypeAsync
を呼び出し、返された値を options.coercionType
パラメーターに渡します。
重要:
ユーザーがマニフェストで
ItemSend
を使用して送信時機能を実装するアドインを実行している場合は、送信時機能の前に append-on-send が実行されます。アドインが送信時機能を実装し、
ItemSend
ハンドラーでappendOnSendAsync
を呼び出す場合、このシナリオはサポートされていないため、appendOnSendAsync
呼び出しはエラーを返します。前の
appendOnSendAsync
呼び出しからデータを消去するには、data
パラメーターをnull
に設定して、再度呼び出すことができます。SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用します。
appendOnSendAsync
メソッドでは、インライン CSS はサポートされていません。 代わりに、内部 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, 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
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: Composeまたは読み取り
重要:
HTML 形式の本文を操作する場合は、
Body.getAsync
メソッドによって返される値が、必ずしもBody.setAsync
メソッドで以前に渡された値とまったく同じとは限らないことに注意してください。 クライアントは、setAsync
に渡される値を変更して、レンダリング エンジンを使用して効率的にレンダリングできます。Outlook on the webおよび新しい Outlook on Windows で本文にテーブル、リスト、リンクなどの書式設定された要素が含まれている場合は、
getAsync
呼び出しでOffice.CoercionType.Html
を指定します。 それ以外の場合は、空の文字列などの予期しない値を受け取る可能性があります。
例
// 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
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: Composeまたは読み取り
重要:
HTML 形式の本文を操作する場合は、
Body.getAsync
メソッドによって返される値が、必ずしもBody.setAsync
メソッドで以前に渡された値とまったく同じとは限らないことに注意してください。 クライアントは、setAsync
に渡される値を変更して、レンダリング エンジンを使用して効率的にレンダリングできます。Outlook on the webおよび新しい Outlook on Windows で本文にテーブル、リスト、リンクなどの書式設定された要素が含まれている場合は、
getAsync
呼び出しで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
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
注釈
最小アクセス許可レベル: 読み取り項目
適用される 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
注釈
最小アクセス許可レベル: 読み取り項目
適用される 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 文字です。
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
coercionType
: 本文に必要な形式。 パラメーター内の文字列は、この形式に変換されます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback
パラメーターで渡された関数が、 Office.AsyncResult
型の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error
プロパティに表示されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される 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 を使用します。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 = $("#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
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される 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 を使用します。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 文字に制限されています。
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: コールバック関数でアクセスできる任意のオブジェクト。
coercionType
: 本文に必要な形式。
data
パラメーターの文字列は、この形式に変換されます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback
パラメーターで渡された関数が、 Office.AsyncResult
型の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error
プロパティに表示されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: Compose
推奨: getTypeAsync
を呼び出し、返された値を options.coercionType
パラメーターに渡します。
重要: prependOnSendAsync
を実装するときは、次の点に注意してください。
スマート アラート アドインでは先に送信前機能が実行されます。
先頭のコンテンツの後に新しい行が追加されます。
複数のアクティブなアドインが
prependOnSendAsync
を呼び出す場合、挿入されたコンテンツの順序はアドインの実行順序によって異なります。 前回の実行アドインのコンテンツは、前に追加したコンテンツの上に表示されます。アドインがプレーン テキスト本文に HTML を挿入しようとすると、コンテンツは先頭に付加されません。 逆に、プレーン テキストは HTML 本文に挿入されます。
SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用します。
prependOnSendAsync
メソッドでは、インライン CSS はサポートされていません。 代わりに、内部 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 = $("#text-field").val().toString();
// 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
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: Compose
推奨: getTypeAsync
を呼び出し、返された値を options.coercionType
パラメーターに渡します。
重要: prependOnSendAsync
を実装するときは、次の点に注意してください。
スマート アラート アドインでは先に送信前機能が実行されます。
先頭のコンテンツの後に新しい行が追加されます。
複数のアクティブなアドインが
prependOnSendAsync
を呼び出す場合、挿入されたコンテンツの順序はアドインの実行順序によって異なります。 前回の実行アドインのコンテンツは、前に追加したコンテンツの上に表示されます。アドインがプレーン テキスト本文に HTML を挿入しようとすると、コンテンツは先頭に付加されません。 逆に、プレーン テキストは HTML 本文に挿入されます。
SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用します。
prependOnSendAsync
メソッドでは、インライン CSS はサポートされていません。 代わりに、内部 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, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- data
-
string
既存の本文を置換する文字列。 文字列の長さは 1,000,000 文字までに制限されています。
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
coercionType
: 本文に必要な形式。 パラメーター内の文字列は、この形式に変換されます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback
パラメーターで渡された関数が、Office.AsyncResult 型の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error
プロパティに表示されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される 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" に設定することで、オンライン リンク プレビューを無効にすることができます (サンプルについては、「例」セクションを参照してください)。Outlook on Windows (クラシック) と Mac では、アドイン ユーザーは [元に戻す] コマンドを使用してこの操作を元に戻すことができません。
Outlook on Android および iOS では、このメソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用します。
setAsync
メソッドでは、インライン CSS はサポートされていません。 代わりに、内部 CSS または外部 CSS を使用します。setAsync
メソッドは、loadItemByIdAsync
メソッドを使用して現在読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージで Outlook アドインをアクティブ化する」を参照してください。
エラー:
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
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される 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" に設定することで、オンライン リンク プレビューを無効にすることができます (サンプルについては、「例」セクションを参照してください)。Outlook on Windows (クラシック) と Mac では、アドイン ユーザーは [元に戻す] コマンドを使用してこの操作を元に戻すことができません。
Outlook on Android および iOS では、このメソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用します。
setAsync
メソッドでは、インライン CSS はサポートされていません。 代わりに、内部 CSS または外部 CSS を使用します。setAsync
メソッドは、loadItemByIdAsync
メソッドを使用して現在読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージで Outlook アドインをアクティブ化する」を参照してください。
エラー:
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 文字までに制限されています。
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
coercionType
: 本文に必要な形式。 パラメーター内の文字列は、この形式に変換されます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback
パラメーターで渡された関数が、 Office.AsyncResult
型の 1 つのパラメーターで呼び出されます。 検出されたすべてのエラーは asyncResult.error
プロパティに表示されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: Compose
推奨: getTypeAsync
を呼び出し、返された値を options.coercionType
パラメーターに渡します。
重要:
HTML マークアップにリンクを含める場合は、アンカー (<a>) の
id
属性を "LPNoLP" に設定することで、オンライン リンク プレビューを無効にすることができます (サンプルについては、「例」セクションを参照してください)。SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用します。
setSelectedDataAsync
メソッドでは、インライン CSS はサポートされていません。 代わりに、内部 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 = $("#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
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: Compose
推奨: getTypeAsync
を呼び出し、返された値を options.coercionType
パラメーターに渡します。
重要:
HTML マークアップにリンクを含める場合は、アンカー (<a>) の
id
属性を "LPNoLP" に設定することで、オンライン リンク プレビューを無効にすることができます (サンプルについては、「例」セクションを参照してください)。SVG ファイルはサポートされていません。 代わりに JPG または PNG ファイルを使用します。
setSelectedDataAsync
メソッドでは、インライン CSS はサポートされていません。 代わりに、内部 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 文字に制限されています。
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
coercionType
: 署名を設定する必要がある形式。 Text の場合、メソッドは署名をプレーン テキストに設定し、存在するすべての HTML タグを削除します。 Html の場合、メソッドは署名を HTML に設定します。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback
パラメーターで渡された関数が、 Office.AsyncResult
型の 1 つのパラメーターで呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される 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 を使用します。setSignatureAsync
メソッドは、loadItemByIdAsync
メソッドを使用して現在読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージで Outlook アドインをアクティブ化する」を参照してください。
エラー:
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
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される 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 を使用します。setSignatureAsync
メソッドは、loadItemByIdAsync
メソッドを使用して現在読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージで Outlook アドインをアクティブ化する」を参照してください。
エラー:
DataExceedsMaximumSize
:data
パラメーターが 30,000 文字を超えています。InvalidFormatError
:options.coercionType
パラメーターはOffice.CoercionType.Html
に設定され、メッセージ本文はプレーン テキストです。
Office Add-ins