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 |
インスタンスが表しているアイテムの種類を取得します。
|
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 で実行されている場合、 |
get |
メッセージの件名または本文から非同期的に選択したデータを返します。 選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、 コールバック関数から選択したデータにアクセスするには、 |
get |
メッセージの件名または本文から非同期的に選択したデータを返します。 選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、 コールバック関数から選択したデータにアクセスするには、 |
load |
選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。 カスタム プロパティは、アプリごとに項目ごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。これにより、現在のアイテムと現在のアドインに固有のカスタム プロパティにアクセスするメソッドが提供されます。 カスタム プロパティはアイテムで暗号化されないため、セキュリティで保護されたストレージとして使用しないでください。 カスタム プロパティは |
remove |
メッセージまたは予定から添付ファイルを削除します。
|
remove |
メッセージまたは予定から添付ファイルを削除します。
|
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
列挙値のいずれかを返します。
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;
}
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 で導入されたaddFileAttachmentFromBase64
API の使用を試すことができます。添付するファイルの URI は、運用環境でのキャッシュをサポートしている必要があります。 イメージをホストしているサーバーは、HTTP 応答で
no-cache
、no-store
、または同様のオプションを指定するCache-Control
ヘッダーを返すべきではありません。 ただし、アドインを開発し、ファイルに変更を加えると、キャッシュによって変更が表示されない可能性があります。 開発中にCache-Control
ヘッダーを使用することをお勧めします。removeAttachmentAsync
メソッドで同じ URI を使用して、同じセッション内の添付ファイルを削除できます。
エラー:
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 で導入されたaddFileAttachmentFromBase64
API の使用を試すことができます。添付するファイルの URI は、運用環境でのキャッシュをサポートしている必要があります。 イメージをホストしているサーバーは、HTTP 応答で
no-cache
、no-store
、または同様のオプションを指定するCache-Control
ヘッダーを返すべきではありません。 ただし、アドインを開発し、ファイルに変更を加えると、キャッシュによって変更が表示されない可能性があります。 開発中にCache-Control
ヘッダーを使用することをお勧めします。removeAttachmentAsync
メソッドで同じ URI を使用して、同じセッション内の添付ファイルを削除できます。
エラー:
AttachmentSizeExceeded
: 添付ファイルが許可されているよりも大きい。FileTypeNotSupported
: 添付ファイルには、許可されていない拡張機能があります。NumberOfAttachmentsExceeded
: メッセージまたは予定に添付ファイルが多すぎます。
addItemAttachmentAsync(itemId, attachmentName, options, callback)
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
addItemAttachmentAsync
メソッドは、指定された Exchange 識別子を持つアイテムを新規作成フォームのアイテムにアタッチします。 コールバック関数を指定した場合、メソッドは、添付ファイル識別子または項目の添付中に発生したエラーを示すコードを含む 1 つのパラメーター asyncResult
で呼び出されます。 必要に応じて、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 識別子を持つアイテムを新規作成フォームのアイテムにアタッチします。 コールバック関数を指定した場合、メソッドは、添付ファイル識別子または項目の添付中に発生したエラーを示すコードを含む 1 つのパラメーター asyncResult
で呼び出されます。 必要に応じて、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
: メッセージまたは予定に添付ファイルが多すぎます。
getSelectedDataAsync(coercionType, options, callback)
メッセージの件名または本文から非同期的に選択したデータを返します。
選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、InvalidSelection
エラーが返されます。
コールバック関数から選択したデータにアクセスするには、 asyncResult.value.data
を呼び出します。 選択範囲のソース プロパティにアクセスするには、 asyncResult.value.sourceProperty
を呼び出します。これは、 body
または subject
のいずれかになります。
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
を呼び出します。 選択範囲のソース プロパティにアクセスするには、 asyncResult.value.sourceProperty
を呼び出します。これは、 body
または subject
のいずれかになります。
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
: 添付ファイル識別子が存在しません。
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