Office.MessageCompose interface
Office.context.mailbox.item のメッセージ作成モード。
重要:
これは内部 Outlook オブジェクトであり、既存のインターフェイスを介して直接公開されることはありません。 これは のモード
Office.context.mailbox.item
として扱う必要があります。 詳細については、「 オブジェクト モデル 」ページを参照してください。メッセージを呼び出すとき
Office.context.mailbox.item
は、Outlook クライアントの閲覧ウィンドウを有効にする必要があることに注意してください。 閲覧ウィンドウを構成する方法のガイダンスについては、「閲覧ウィンドウを 使用してメッセージをプレビューするように構成する」を参照してください。
親インターフェイス:
- Extends
プロパティ
bcc | メッセージの Bcc (ブラインド カーボン コピー) 行の受信者を取得または更新するメソッドを提供するオブジェクトを取得します。 クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。 |
body | アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。 |
cc | メッセージの CC (カーボン コピー) の受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
|
conversation |
特定のメッセージが含まれている電子メールの会話の識別子を取得します。 メール アプリを閲覧フォームでアクティブ化するか、新規作成フォームの返信でアクティブ化すると、このプロパティで整数を取得することができます。 その後、ユーザーが返信の件名を変更した場合、その返信の送信時にメッセージの会話 ID が変更され、以前に取得した値は適用されなくなります。 新規作成フォームで新しいアイテムに対してこのプロパティに null を取得します。 ユーザーが件名を設定し、アイテムを保存する場合、 |
item |
インスタンスが表しているアイテムの種類を取得します。 プロパティは |
notification |
アイテムの通知メッセージを取得します。 |
subject | アイテムの件名フィールドに示される説明を取得または設定します。
|
to | メッセージの To 行にある受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
|
メソッド
add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
|
add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
|
add |
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。 メソッドは その後、 Office アドインがOutlook on the webまたは新しい Outlook on Windows で実行されている場合、 |
add |
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。 メソッドは その後、 Office アドインがOutlook on the webまたは新しい Outlook on Windows で実行されている場合、 |
close() | 作成中の現在の項目を閉じます。
Outlook on Windows (クラシック) と Mac では、 |
get |
メッセージの件名または本文から非同期的に選択したデータを返します。 選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、 コールバック関数から選択したデータにアクセスするには、 を呼び出します |
get |
メッセージの件名または本文から非同期的に選択したデータを返します。 選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、 コールバック関数から選択したデータにアクセスするには、 を呼び出します |
load |
選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。 カスタム プロパティは、アプリごとに項目ごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。これにより、現在のアイテムと現在のアドインに固有のカスタム プロパティにアクセスするメソッドが提供されます。 カスタム プロパティはアイテムで暗号化されないため、セキュリティで保護されたストレージとして使用しないでください。 カスタム プロパティは |
remove |
メッセージまたは予定から添付ファイルを削除します。
|
remove |
メッセージまたは予定から添付ファイルを削除します。
|
save |
現在のメッセージを下書きとして非同期的に保存します。 |
save |
現在のメッセージを下書きとして非同期的に保存します。 |
set |
メッセージの本文または件名に非同期的にデータを挿入します。 メソッドは |
set |
メッセージの本文または件名に非同期的にデータを挿入します。 メソッドは |
プロパティの詳細
bcc
メッセージの Bcc (ブラインド カーボン コピー) 行の受信者を取得または更新するメソッドを提供するオブジェクトを取得します。
クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。
bcc: Recipients;
プロパティ値
注釈
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
Office.context.mailbox.item.bcc.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.bcc.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.bcc.getAsync(callback);
function callback(asyncResult) {
const arrayOfBccRecipients = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-bcc-message-compose.yaml
Office.context.mailbox.item.bcc.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const msgBcc = asyncResult.value;
console.log("Message being blind-copied to:");
for (let i = 0; i < msgBcc.length; i++) {
console.log(msgBcc[i].displayName + " (" + msgBcc[i].emailAddress + ")");
}
} else {
console.error(asyncResult.error);
}
});
...
const email = $("#emailBcc")
.val()
.toString();
const emailArray = [email];
Office.context.mailbox.item.bcc.setAsync(emailArray, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Succeeded in setting Bcc field.");
} else {
console.error(asyncResult.error);
}
});
body
アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。
body: Body;
プロパティ値
注釈
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
// 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"
}
cc
メッセージの CC (カーボン コピー) の受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
cc
プロパティは、メッセージの Cc 行にある受信者を取得または更新するメソッドを提供する Recipients
オブジェクトを返します。 ただし、クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。
cc: Recipients;
プロパティ値
注釈
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
Office.context.mailbox.item.cc.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.cc.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.cc.getAsync(callback);
function callback(asyncResult) {
const arrayOfCcRecipients = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-cc-message-compose.yaml
Office.context.mailbox.item.cc.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const msgCc = asyncResult.value;
console.log("Message being copied to:");
for (let i = 0; i < msgCc.length; i++) {
console.log(msgCc[i].displayName + " (" + msgCc[i].emailAddress + ")");
}
} else {
console.error(asyncResult.error);
}
});
...
const email = $("#emailCc")
.val()
.toString();
const emailArray = [email];
Office.context.mailbox.item.cc.setAsync(emailArray, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Succeeded in setting Cc field.");
} else {
console.error(asyncResult.error);
}
});
conversationId
特定のメッセージが含まれている電子メールの会話の識別子を取得します。
メール アプリを閲覧フォームでアクティブ化するか、新規作成フォームの返信でアクティブ化すると、このプロパティで整数を取得することができます。 その後、ユーザーが返信の件名を変更した場合、その返信の送信時にメッセージの会話 ID が変更され、以前に取得した値は適用されなくなります。
新規作成フォームで新しいアイテムに対してこのプロパティに null を取得します。 ユーザーが件名を設定し、アイテムを保存する場合、conversationId
プロパティは値を返します。
conversationId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-conversation-id-message.yaml
console.log(`Conversation ID: ${Office.context.mailbox.item.conversationId}`);
itemType
インスタンスが表しているアイテムの種類を取得します。
プロパティは itemType
、アイテム オブジェクト インスタンスが ItemType
メッセージか予定かを示す列挙値の 1 つを返します。
itemType: MailboxEnums.ItemType | string;
プロパティ値
Office.MailboxEnums.ItemType | string
注釈
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-type.yaml
const itemType = Office.context.mailbox.item.itemType;
switch (itemType) {
case Office.MailboxEnums.ItemType.Appointment:
console.log(`Current item is an ${itemType}.`);
break;
case Office.MailboxEnums.ItemType.Message:
console.log(`Current item is a ${itemType}. A message could be an email, meeting request, meeting response, or meeting cancellation.`);
break;
}
notificationMessages
アイテムの通知メッセージを取得します。
notificationMessages: NotificationMessages;
プロパティ値
注釈
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/35-notifications/add-getall-remove.yaml
// Adds a progress indicator to the mail item.
const id = $("#notificationId").val().toString();
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.ProgressIndicator,
message: "Progress indicator with id = " + id
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);
...
// Adds an informational notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Non-persistent informational notification message with id = " + id,
icon: "icon1",
persistent: false
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);
...
// Adds a persistent information notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Persistent informational notification message with id = " + id,
icon: "icon1",
persistent: true
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);
...
// Gets all the notification messages and their keys for the current mail item.
Office.context.mailbox.item.notificationMessages.getAllAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log(asyncResult.error.message);
return;
}
console.log(asyncResult.value);
});
...
// Replaces a notification message of a given key with another message.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.replaceAsync(
id,
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Notification message with id = " + id + " has been replaced with an informational message.",
icon: "icon2",
persistent: false
},
handleResult);
...
// Removes a notification message from the current mail item.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.removeAsync(id, handleResult);
subject
アイテムの件名フィールドに示される説明を取得または設定します。
subject
プロパティは、電子メール サーバーによって送信されたアイテムの件名全体を取得または設定します。
subject
プロパティは件名を取得および設定するためのメソッドを提供する Subject
オブジェクトを返します。
subject: Subject;
プロパティ値
注釈
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-subject-compose.yaml
Office.context.mailbox.item.subject.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Subject: ${result.value}`);
});
...
let subject = "Hello World!";
Office.context.mailbox.item.subject.setAsync(subject, (result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Successfully set subject to ${subject}`);
});
to
メッセージの To 行にある受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
to
プロパティは、メッセージの To 行の受信者を取得または更新するメソッドを提供する Recipients
オブジェクトを返します。 ただし、クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。
to: Recipients;
プロパティ値
注釈
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
Office.context.mailbox.item.to.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.to.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.to.getAsync(callback);
function callback(asyncResult) {
const arrayOfToRecipients = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-to-message-compose.yaml
Office.context.mailbox.item.to.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const msgTo = asyncResult.value;
console.log("Message being sent to:");
for (let i = 0; i < msgTo.length; i++) {
console.log(msgTo[i].displayName + " (" + msgTo[i].emailAddress + ")");
}
} else {
console.error(asyncResult.error);
}
});
...
const email = $("#emailTo")
.val()
.toString();
const emailArray = [email];
Office.context.mailbox.item.to.setAsync(emailArray, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Succeeded in setting To field.");
} else {
console.error(asyncResult.error);
}
});
メソッドの詳細
addFileAttachmentAsync(uri, attachmentName, options, callback)
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
addFileAttachmentAsync
メソッドは、指定した URI にあるファイルをアップロードし、新規作成フォーム内のアイテムに添付します。
addFileAttachmentAsync(uri: string, attachmentName: string, options: Office.AsyncContextOptions & { isInline: boolean }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- uri
-
string
メッセージまたは予定に添付するファイルの場所を示す URI。 最大長は 2048 文字です。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- options
-
Office.AsyncContextOptions & { isInline: boolean }
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
isInline
: true の場合、添付ファイルはメッセージ本文の画像としてインラインで表示され、添付ファイルの一覧には表示されません。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value
プロパティに設定されます。 添付ファイルのアップロードに失敗した場合、asyncResult
オブジェクトには、エラーの説明を提供する Error
オブジェクトが含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: メッセージ Compose
重要:
Windows 上の従来の Outlook の最近のビルドでは、ヘッダーを誤ってこのアクションに追加
Authorization: Bearer
するバグが導入されました (この API を使用するか Outlook UI を使用するか)。 この問題を回避するには、要件セット 1.8 で導入された API を使用addFileAttachmentFromBase64
してみてください。添付するファイルの URI は、運用環境でのキャッシュをサポートしている必要があります。 イメージをホストしているサーバーは、HTTP 応答で
Cache-Control
、no-store
、または同様のオプションをno-cache
指定するヘッダーを返すべきではありません。 ただし、アドインを開発し、ファイルに変更を加えると、キャッシュによって変更が表示されない可能性があります。 開発中にヘッダーを使用Cache-Control
することをお勧めします。メソッドで同じ URI を使用して、
removeAttachmentAsync
同じセッション内の添付ファイルを削除できます。
エラー:
AttachmentSizeExceeded
: 添付ファイルが許可されているよりも大きい。FileTypeNotSupported
: 添付ファイルには、許可されていない拡張機能があります。NumberOfAttachmentsExceeded
: メッセージまたは予定に添付ファイルが多すぎます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
const attachmentUrl = $("#attachmentUrl")
.val()
.toString();
Office.context.mailbox.item.addFileAttachmentAsync(
attachmentUrl,
getFileName(attachmentUrl),
{ isInline: false },
(result) => {
console.log(result);
}
);
addFileAttachmentAsync(uri, attachmentName, callback)
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
addFileAttachmentAsync
メソッドは、指定した URI にあるファイルをアップロードし、新規作成フォーム内のアイテムに添付します。
addFileAttachmentAsync(uri: string, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- uri
-
string
メッセージまたは予定に添付するファイルの場所を示す URI。 最大長は 2048 文字です。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value
プロパティに設定されます。 添付ファイルのアップロードに失敗した場合、asyncResult
オブジェクトには、エラーの説明を提供する Error
オブジェクトが含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: メッセージ Compose
重要:
Windows 上の従来の Outlook の最近のビルドでは、ヘッダーを誤ってこのアクションに追加
Authorization: Bearer
するバグが導入されました (この API を使用するか Outlook UI を使用するか)。 この問題を回避するには、要件セット 1.8 で導入された API を使用addFileAttachmentFromBase64
してみてください。添付するファイルの URI は、運用環境でのキャッシュをサポートしている必要があります。 イメージをホストしているサーバーは、HTTP 応答で
Cache-Control
、no-store
、または同様のオプションをno-cache
指定するヘッダーを返すべきではありません。 ただし、アドインを開発し、ファイルに変更を加えると、キャッシュによって変更が表示されない可能性があります。 開発中にヘッダーを使用Cache-Control
することをお勧めします。メソッドで同じ URI を使用して、
removeAttachmentAsync
同じセッション内の添付ファイルを削除できます。
エラー:
AttachmentSizeExceeded
: 添付ファイルが許可されているよりも大きい。FileTypeNotSupported
: 添付ファイルには、許可されていない拡張機能があります。NumberOfAttachmentsExceeded
: メッセージまたは予定に添付ファイルが多すぎます。
addItemAttachmentAsync(itemId, attachmentName, options, callback)
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
メソッドは addItemAttachmentAsync
、指定された Exchange 識別子を持つアイテムを compose フォームのアイテムにアタッチします。 コールバック関数を指定した場合、 メソッドは、 asyncResult
添付ファイル識別子または項目のアタッチ中に発生したエラーを示すコードを含む 1 つのパラメーターを使用して呼び出されます。 必要に応じて、options パラメーターを使用して状態情報をコールバック関数に渡すことができます。
その後、removeAttachmentAsync
メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
Office アドインがOutlook on the webまたは新しい Outlook on Windows で実行されている場合、addItemAttachmentAsync
メソッドは編集中のアイテム以外のアイテムにアイテムを添付できます。 ただし、これはサポートされていないため、推奨されません。
addItemAttachmentAsync(itemId: any, attachmentName: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- itemId
-
any
添付するアイテムの Exchange 識別子。 最大長は 100 文字です。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value
プロパティに設定されます。 添付ファイルの追加に失敗した場合、asyncResult
オブジェクトには、エラーの説明を提供する Error
オブジェクトが含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: メッセージ Compose
エラー:
-
NumberOfAttachmentsExceeded
: メッセージまたは予定に添付ファイルが多すぎます。
例
// The following example adds an existing Outlook item as an attachment
// with the name "My Attachment".
function addAttachment() {
// EWS ID of item to attach (shortened for readability).
const itemId = "AAMkADI1...AAA=";
// The values in asyncContext can be accessed in the callback.
const options = { asyncContext: { var1: 1, var2: 2 } };
Office.context.mailbox.item.addItemAttachmentAsync(itemId, "My Attachment", options, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error("Failed to add attachment: " + result.error.message);
return;
}
console.log("Attachment added successfully.");
console.log("var1: " + result.asyncContext.var1);
console.log("var2: " + result.asyncContext.var2);
});
}
addItemAttachmentAsync(itemId, attachmentName, callback)
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
メソッドは addItemAttachmentAsync
、指定された Exchange 識別子を持つアイテムを compose フォームのアイテムにアタッチします。 コールバック関数を指定した場合、 メソッドは、 asyncResult
添付ファイル識別子または項目のアタッチ中に発生したエラーを示すコードを含む 1 つのパラメーターを使用して呼び出されます。 必要に応じて、options パラメーターを使用して状態情報をコールバック関数に渡すことができます。
その後、removeAttachmentAsync
メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
Office アドインがOutlook on the webまたは新しい Outlook on Windows で実行されている場合、addItemAttachmentAsync
メソッドは編集中のアイテム以外のアイテムにアイテムを添付できます。 ただし、これはサポートされていないため、推奨されません。
addItemAttachmentAsync(itemId: any, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- itemId
-
any
添付するアイテムの Exchange 識別子。 最大長は 100 文字です。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value
プロパティに設定されます。 添付ファイルの追加に失敗した場合、asyncResult
オブジェクトには、エラーの説明を提供する Error
オブジェクトが含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: メッセージ Compose
エラー:
-
NumberOfAttachmentsExceeded
: メッセージまたは予定に添付ファイルが多すぎます。
close()
作成中の現在の項目を閉じます。
close
メソッドの動作は、作成中のアイテムの現在の状態によって異なります。 アイテムに未保存の変更がある場合、クライアントはアクションの保存、破棄、または閉じるようユーザーに求めます。
Outlook on Windows (クラシック) と Mac では、 close
このメソッドは閲覧ウィンドウの返信には影響しません。
close(): void;
戻り値
void
注釈
最小アクセス許可レベル: 制限
適用される Outlook モード: メッセージ Compose
重要: Outlook on the webおよび新しい Outlook on Windows では、アイテムが予定であり、以前に を使用してsaveAsync
保存されている場合、アイテムが最後に保存されてから変更が発生していない場合でも、ユーザーは保存、破棄、または取り消しを求められます。
ヒント: アドインを次に示す場合は、 close
メソッドの代わりに closeAsync メソッドを使用します。
保存ダイアログをユーザーに求めることなく、構成されているメッセージを自動的に破棄します。
ユーザーが、構成中のメッセージの [アイテムの保存] ダイアログを取り消すタイミングを決定します。
閲覧ウィンドウまたは既存の下書きで返信を閉じます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/25-item-save-and-close/close.yaml
Office.context.mailbox.item.close();
getSelectedDataAsync(coercionType, options, callback)
メッセージの件名または本文から非同期的に選択したデータを返します。
選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、InvalidSelection
エラーが返されます。
コールバック関数から選択したデータにアクセスするには、 を呼び出します asyncResult.value.data
。 選択範囲のソース プロパティにアクセスするには、 または subject
を呼び出しますasyncResult.value.sourceProperty
body
。
getSelectedDataAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<any>) => void): void;
パラメーター
- coercionType
-
Office.CoercionType | string
データの形式を要求します。 の場合 Text
、 メソッドはプレーン テキストを文字列として返し、存在するすべての HTML タグを削除します。 の場合 Html
、 メソッドは、プレーンテキストまたは HTML のいずれであっても、選択したテキストを返します。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<any>) => void
メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。
戻り値
void
によって決定される coercionType
形式の文字列として選択されたデータ。
注釈
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
// Get selected data.
Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, { option1: "option1"}, getCallback);
function getCallback(asyncResult) {
const text = asyncResult.value.data;
const prop = asyncResult.value.sourceProperty;
console.log(`Selected text in ${prop}: ${text}`);
}
getSelectedDataAsync(coercionType, callback)
メッセージの件名または本文から非同期的に選択したデータを返します。
選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、InvalidSelection
エラーが返されます。
コールバック関数から選択したデータにアクセスするには、 を呼び出します asyncResult.value.data
。 選択範囲のソース プロパティにアクセスするには、 または subject
を呼び出しますasyncResult.value.sourceProperty
body
。
getSelectedDataAsync(coercionType: Office.CoercionType | string, callback: (asyncResult: Office.AsyncResult<any>) => void): void;
パラメーター
- coercionType
-
Office.CoercionType | string
データの形式を要求します。 の場合 Text
、 メソッドはプレーン テキストを文字列として返し、存在するすべての HTML タグを削除します。 の場合 Html
、 メソッドは、プレーンテキストまたは HTML のいずれであっても、選択したテキストを返します。
- callback
-
(asyncResult: Office.AsyncResult<any>) => void
メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。
戻り値
void
によって決定される coercionType
形式の文字列として選択されたデータ。
注釈
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-selected-data.yaml
Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const text = asyncResult.value.data;
const prop = asyncResult.value.sourceProperty;
console.log("Selected text in " + prop + ": " + text);
} else {
console.error(asyncResult.error);
}
});
loadCustomPropertiesAsync(callback, userContext)
選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。
カスタム プロパティは、アプリごとに項目ごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。これにより、現在のアイテムと現在のアドインに固有のカスタム プロパティにアクセスするメソッドが提供されます。 カスタム プロパティはアイテムで暗号化されないため、セキュリティで保護されたストレージとして使用しないでください。
カスタム プロパティは asyncResult.value
プロパティの CustomProperties
オブジェクトとして指定されます。 このオブジェクトを使用して、メール アイテムのカスタム プロパティを取得、設定、保存、および削除できます。
loadCustomPropertiesAsync(callback: (asyncResult: Office.AsyncResult<CustomProperties>) => void, userContext?: any): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<Office.CustomProperties>) => void
メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。
- userContext
-
any
省略可能。 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。 このオブジェクトには、コールバック関数の asyncResult.asyncContext
プロパティによってアクセスすることができます。
戻り値
void
注釈
カスタム プロパティの詳細については、「Outlook アドインのアドイン メタデータを取得して設定する」を参照してください。
最小アクセス許可レベル: アイテムの読み取り
適用される Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/15-item-custom-properties/load-set-get-save.yaml
Office.context.mailbox.item.loadCustomPropertiesAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
return;
}
customProps = result.value;
console.log("Loaded the CustomProperties object.");
});
removeAttachmentAsync(attachmentId, options, callback)
メッセージまたは予定から添付ファイルを削除します。
removeAttachmentAsync
メソッドは、指定した識別子の添付ファイルをアイテムから削除します。 ベスト プラクティスとして、同じメール アプリが同じセッションで添付ファイルを追加した場合にのみ、その添付ファイルの識別子を使用して添付ファイルを削除することをお勧めします。 Outlook on the web、モバイル デバイス、および新しい Outlook on Windows では、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。
removeAttachmentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- attachmentId
-
string
削除する添付ファイルの識別子。 の最大文字列長attachmentId
は、Outlook on the webおよび Windows (新規およびクラシック) では 200 文字です。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。 添付ファイルの削除に失敗すると、asyncResult.error
プロパティにはエラー コードとエラーの理由が含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: メッセージ Compose
重要*: メソッドは removeAttachmentAsync
、メール アイテムからインライン添付ファイルを削除しません。 インライン添付ファイルを削除するには、まずアイテムの本文を取得し、その内容から添付ファイルの参照を削除します。
Office.Body API を使用して、アイテムの本文を取得および設定します。
エラー:
-
InvalidAttachmentId
: 添付ファイル識別子が存在しません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
Office.context.mailbox.item.removeAttachmentAsync(
$("#attachmentId")
.val()
.toString(),
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(result.error.message);
return;
}
console.log(`Attachment removed successfully.`);
}
);
removeAttachmentAsync(attachmentId, callback)
メッセージまたは予定から添付ファイルを削除します。
removeAttachmentAsync
メソッドは、指定した識別子の添付ファイルをアイテムから削除します。 ベスト プラクティスとして、同じメール アプリが同じセッションで添付ファイルを追加した場合にのみ、その添付ファイルの識別子を使用して添付ファイルを削除することをお勧めします。 Outlook on the web、モバイル デバイス、および新しい Outlook on Windows では、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。
removeAttachmentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- attachmentId
-
string
削除する添付ファイルの識別子。 の最大文字列長attachmentId
は、Outlook on the webおよび Windows (新規およびクラシック) では 200 文字です。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。 添付ファイルの削除に失敗すると、asyncResult.error
プロパティにはエラー コードとエラーの理由が含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: メッセージ Compose
重要*: メソッドは removeAttachmentAsync
、メール アイテムからインライン添付ファイルを削除しません。 インライン添付ファイルを削除するには、まずアイテムの本文を取得し、その内容から添付ファイルの参照を削除します。
Office.Body API を使用して、アイテムの本文を取得および設定します。
エラー:
-
InvalidAttachmentId
: 添付ファイル識別子が存在しません。
saveAsync(options, callback)
現在のメッセージを下書きとして非同期的に保存します。
saveAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、 パラメーターでcallback
渡された関数が、 オブジェクトである 1 つのパラメーターasyncResult
Office.AsyncResult
で呼び出されます。 EWS メッセージ ID は、 プロパティで asyncResult.value
返されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: メッセージ Compose
重要:
Outlook on the web、新しい Outlook on Windows、またはオンライン モード (キャッシュなしモード) の従来の Outlook では、アイテムがサーバーに保存されます。 キャッシュ モードの Outlook では、ローカル キャッシュにアイテムが保存されます。
HTML 形式のコンテンツを操作する場合は、Outlook クライアントがコンテンツを変更する可能性があることに注意することが重要です。 つまり、、 などの
Body.getAsync
Body.setAsync
メソッドに対する後続の呼び出しではsaveAsync
、同じコンテンツが生成されない可能性があります。返される識別子は、 Exchange Web Services (EWS) アイテム識別子と同じです。 返されるアイテム ID は、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、 を使用して
Office.context.mailbox.convertToRestId
変換する必要があります。EWS または REST API で使用するアイテム ID を取得するためにアドインが呼び出される
saveAsync
場合は、Outlook がキャッシュ モードの場合、アイテムが実際にサーバーに同期されるまでに時間がかかる場合があることに注意してください。 アイテムが同期されるまで、アイテム ID を使用するとエラーが返されます。Outlook on the webおよび新しい Outlook on Windows では、共有メールボックス アカウントから送信されるメッセージで下書きを保存する
saveAsync
メールボックス アカウントが呼び出されると異なります。 送信者が個人用メールボックスから新しいメッセージを作成し、[ 差 出人] フィールドで共有メールボックス アカウントを選択した場合は、saveAsync
下書きをユーザーの個人用メールボックスの 下書き フォルダーに保存します。 送信者が別のブラウザー タブで共有メールボックス アカウントを開き ([ 別のメールボックスを開く ] オプションなど)、そこに新しいメッセージを作成する場合は、saveAsync
下書きを共有メールボックスの 下書き フォルダーに保存します。
エラー:
-
InvalidAttachmentId
: 添付ファイル識別子が存在しません。
saveAsync(callback)
現在のメッセージを下書きとして非同期的に保存します。
saveAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、 パラメーターでcallback
渡された関数が、 オブジェクトである 1 つのパラメーターasyncResult
Office.AsyncResult
で呼び出されます。 EWS メッセージ ID は、 プロパティで asyncResult.value
返されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: メッセージ Compose
重要:
Outlook on the web、新しい Outlook on Windows、またはオンライン モード (キャッシュなしモード) の従来の Outlook では、アイテムがサーバーに保存されます。 キャッシュ モードの Outlook では、ローカル キャッシュにアイテムが保存されます。
HTML 形式のコンテンツを操作する場合は、Outlook クライアントがコンテンツを変更する可能性があることに注意することが重要です。 つまり、、 などの
Body.getAsync
Body.setAsync
メソッドに対する後続の呼び出しではsaveAsync
、同じコンテンツが生成されない可能性があります。返される識別子は、 Exchange Web Services (EWS) アイテム識別子と同じです。 返されるアイテム ID は、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、 を使用して
Office.context.mailbox.convertToRestId
変換する必要があります。EWS または REST API で使用するアイテム ID を取得するためにアドインが呼び出される
saveAsync
場合は、Outlook がキャッシュ モードの場合、アイテムが実際にサーバーに同期されるまでに時間がかかる場合があることに注意してください。 アイテムが同期されるまで、アイテム ID を使用するとエラーが返されます。Outlook on the webおよび新しい Outlook on Windows では、共有メールボックス アカウントから送信されるメッセージで下書きを保存する
saveAsync
メールボックス アカウントが呼び出されると異なります。 送信者が個人用メールボックスから新しいメッセージを作成し、[ 差 出人] フィールドで共有メールボックス アカウントを選択した場合は、saveAsync
下書きをユーザーの個人用メールボックスの 下書き フォルダーに保存します。 送信者が別のブラウザー タブで共有メールボックス アカウントを開き ([ 別のメールボックスを開く ] オプションなど)、そこに新しいメッセージを作成する場合は、saveAsync
下書きを共有メールボックスの 下書き フォルダーに保存します。
エラー:
-
InvalidAttachmentId
: 添付ファイル識別子が存在しません。
例
Office.context.mailbox.item.saveAsync(
function callback(result) {
// Process the result.
});
// The following is an example of the
// `result` parameter passed to the
// callback function. The `value`
// property contains the item ID of
// the item.
{
"value": "AAMkADI5...AAA=",
"status": "succeeded"
}
setSelectedDataAsync(data, options, callback)
メッセージの本文または件名に非同期的にデータを挿入します。
メソッドは setSelectedDataAsync
、指定した文字列を項目の件名または本文のカーソル位置に挿入するか、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが本文または件名フィールドにない場合は、エラーが返されます。 挿入後、カーソルは挿入されたコンテンツの末尾に配置されます。
setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- data
-
string
挿入されるデータ。 データの最大の長さは 1,000,000 文字です。 1,000,000 文字を超えるデータが渡されると、ArgumentOutOfRange
例外がスローされます。
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
coercionType
: テキストの場合、現在のスタイルは、Outlook on the web、Windows (新規およびクラシック)、および Mac で適用されます。 フィールドが HTML エディターの場合、データが HTML の場合でもテキスト データのみが挿入されます。 データが HTML で、フィールドが HTML をサポートしている場合 (件名はサポートされていません)、現在のスタイルはOutlook on the webおよび新しい Outlook on Windows に適用されます。 既定のスタイルは、Outlook on Windows (クラシック) と Mac で適用されます。 フィールドがテキスト フィールドの場合、InvalidDataFormat
エラーが返されます。
coercionType
が設定されていない場合、結果はフィールドによって変わります。フィールドが HTML の場合は HTML が使用されます。フィールドがテキストの場合はプレーン テキストが使用されます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: メッセージ Compose
エラー:
-
InvalidAttachmentId
: 添付ファイル識別子が存在しません。
例
Office.context.mailbox.item.setSelectedDataAsync("<b>Hello World!</b>", { coercionType : "html" });
Office.context.mailbox.item.setSelectedDataAsync("Hello World!");
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/set-selected-data.yaml
Office.context.mailbox.item.setSelectedDataAsync("Replaced", function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Selected text has been updated successfully.");
} else {
console.error(asyncResult.error);
}
});
setSelectedDataAsync(data, callback)
メッセージの本文または件名に非同期的にデータを挿入します。
メソッドは setSelectedDataAsync
、指定した文字列を項目の件名または本文のカーソル位置に挿入するか、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが本文または件名フィールドにない場合は、エラーが返されます。 挿入後、カーソルは挿入されたコンテンツの末尾に配置されます。
setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- data
-
string
挿入されるデータ。 データの最大の長さは 1,000,000 文字です。 1,000,000 文字を超えるデータが渡されると、ArgumentOutOfRange
例外がスローされます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 パラメーターで callback
渡された関数が、 型 Office.AsyncResult
の 1 つのパラメーターで呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: メッセージ Compose
エラー:
-
InvalidAttachmentId
: 添付ファイル識別子が存在しません。
Office Add-ins