Office.MessageRead interface
Office.context.mailbox.item のメッセージ読み取りモード。
重要:
これは内部 Outlook オブジェクトであり、既存のインターフェイスを介して直接公開されることはありません。 これは、
Office.context.mailbox.item
のモードとして扱う必要があります。 詳細については、「 オブジェクト モデル 」ページを参照してください。メッセージで
Office.context.mailbox.item
を呼び出すときは、Outlook クライアントの閲覧ウィンドウを有効にする必要があることに注意してください。 閲覧ウィンドウを構成する方法のガイダンスについては、「閲覧 ウィンドウを使用してメッセージをプレビューするように構成する」を参照してください。
親インターフェイス:
- Extends
注釈
例
// The following code builds an HTML string with details of all attachments on the current item.
const item = Office.context.mailbox.item;
let outputString = "";
if (item.attachments.length > 0) {
for (let i = 0 ; i < item.attachments.length ; i++) {
const attachment = item.attachments[i];
outputString += "<BR>" + i + ". Name: ";
outputString += attachment.name;
outputString += "<BR>ID: " + attachment.id;
outputString += "<BR>contentType: " + attachment.contentType;
outputString += "<BR>size: " + attachment.size;
outputString += "<BR>attachmentType: " + attachment.attachmentType;
outputString += "<BR>isInline: " + attachment.isInline;
}
}
console.log(outputString);
プロパティ
attachments | 項目の添付ファイルを配列として取得します。 |
body | アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。 |
categories | アイテムのカテゴリを管理するためのメソッドを提供する オブジェクトを取得します。 |
cc | メッセージの CC (カーボン コピー) の受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
|
conversation |
特定のメッセージが含まれている電子メールの会話の識別子を取得します。 メール アプリを閲覧フォームでアクティブ化するか、新規作成フォームの返信でアクティブ化すると、このプロパティで整数を取得することができます。 その後、ユーザーが返信の件名を変更した場合、その返信の送信時にメッセージの会話 ID が変更され、以前に取得した値は適用されなくなります。 新規作成フォームで新しいアイテムに対してこのプロパティに null を取得します。 ユーザーが件名を設定し、アイテムを保存する場合、 |
date |
アイテムが作成された日時を取得します。 |
date |
アイテムが最後に変更された日時を取得します。 |
display | 読み取りモードでメッセージの本文または件名に表示されるコンテンツを一時的に設定するオブジェクトを取得します。 |
end | 予定が終了する日時を取得します。
|
from | メッセージの送信者の電子メール アドレスを取得します。 メッセージが代理人から送信された場合を除き、
注:
|
internet |
電子メール メッセージのインターネット メッセージ識別子を取得します。
重要: [送信済みアイテム] フォルダーでは、最近送信されたアイテムで |
item |
選択したメッセージの Exchange Web Services アイテム クラスを取得します。 |
item |
現在の アイテムの Exchange Web Services (EWS) アイテム識別子 を取得します。 |
item |
インスタンスが表しているアイテムの種類を取得します。
|
location | 会議出席依頼の場所を取得します。
|
normalized |
すべてのプレフィックスが削除された項目の件名を取得します (RE: と FWD:を含む)。
|
notification |
アイテムの通知メッセージを取得します。 |
recurrence | 予定の繰り返しパターンを取得します。 会議出席依頼の定期的なパターンを取得します。 予定アイテムの読み取りと作成モード。 会議出席依頼アイテムの読み取りモード。
注: 会議出席依頼の itemClass 値は
注: |
sender | 電子メール メッセージの送信者の電子メール アドレスを取得します。 メッセージが代理人から送信された場合を除き、
注: |
series |
インスタンスが属する系列の ID を取得します。 Outlook on the web、Windows (新規およびクラシック) と Mac では、
注:
|
start | 予定が開始される日付と時刻を取得します。
|
subject | アイテムの件名フィールドに表示される説明を取得します。
|
to | メッセージの To 行にある受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
|
メソッド
add |
サポートされているイベントのイベント ハンドラーを追加します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。 サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。 |
add |
サポートされているイベントのイベント ハンドラーを追加します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。 サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。 |
display |
選択したメッセージの送信者とすべての受信者、または開催者、および選択した予定のすべての出席者を含む返信フォームを表示します。 |
display |
選択したメッセージの送信者とすべての受信者、または開催者、および選択した予定のすべての出席者を含む返信フォームを表示します。 |
display |
選択したメッセージの送信者とすべての受信者、または開催者、および選択した予定のすべての出席者を含む返信フォームを表示します。 |
display |
選択したメッセージの送信者のみ、または選択した予定の開催者のみを含む回答フォームが表示されます。 |
display |
選択したメッセージの送信者のみ、または選択した予定の開催者のみを含む回答フォームが表示されます。 |
display |
選択したメッセージの送信者のみ、または選択した予定の開催者のみを含む回答フォームが表示されます。 |
get |
メッセージのすべてのインターネット ヘッダーを文字列として取得します。 詳細については、「 Outlook アドインのメッセージでインターネット ヘッダーを取得して設定する」を参照してください。 |
get |
メッセージのすべてのインターネット ヘッダーを文字列として取得します。 詳細については、「 Outlook アドインのメッセージでインターネット ヘッダーを取得して設定する」を参照してください。 |
get |
Base64 でエンコードされた EML 形式の現在のメッセージを取得します。 |
get |
Base64 でエンコードされた EML 形式の現在のメッセージを取得します。 |
get |
メッセージまたは予定から添付ファイルを取得し、
|
get |
メッセージまたは予定から添付ファイルを取得し、
|
get |
選択したアイテムの本文にあるエンティティを取得します。 警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。 |
get |
選択したアイテムの本文内で検出された指定のエンティティ型のすべてのエンティティを含む配列を取得します。 警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。 |
get |
アドインのみのマニフェスト ファイルで定義されている名前付きフィルターを渡す、選択した項目の既知のエンティティを返します。 警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。 |
get |
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。 |
get |
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。 |
get |
アドインのみのマニフェスト ファイルで定義されている正規表現に一致する、選択した項目の文字列値を返します。 |
get |
アドインのみのマニフェスト ファイルで定義されている名前付き正規表現と一致する、選択した項目の文字列値を返します。 |
get |
強調表示された一致内で見つかったユーザーが選択しているエンティティを取得します。 強調表示された一致は、コンテキスト アドインに適用されます。 警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。 |
get |
アドインのみのマニフェスト ファイルで定義されている正規表現と一致する強調表示された一致の文字列値を返します。 強調表示された一致は、コンテキスト アドインに適用されます。 |
get |
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。 この API の使用方法の詳細については、「 Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。 |
get |
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します (プレビュー段階)。 この API の使用方法の詳細については、「 Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。 |
load |
選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。 カスタム プロパティは、アプリごとに項目ごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。これにより、現在のアイテムと現在のアドインに固有のカスタム プロパティにアクセスするメソッドが提供されます。 カスタム プロパティはアイテムで暗号化されないため、セキュリティで保護されたストレージとして使用しないでください。 カスタム プロパティは |
remove |
サポートされているイベントの種類のイベント ハンドラーを削除します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。 サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。 |
remove |
サポートされているイベントの種類のイベント ハンドラーを削除します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。 サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。 |
プロパティの詳細
attachments
項目の添付ファイルを配列として取得します。
attachments: AttachmentDetails[];
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
注: 一部の種類のファイルは、潜在的なセキュリティの問題のために Outlook によってブロックされるため、返されません。 詳細については、「 Outlook でブロックされた添付ファイル」を参照してください。
例
// The following code builds an HTML string with details of all attachments on the current item.
const item = Office.context.mailbox.item;
let outputString = "";
if (item.attachments.length > 0) {
for (let i = 0 ; i < item.attachments.length ; i++) {
const attachment = item.attachments[i];
outputString += "<BR>" + i + ". Name: ";
outputString += attachment.name;
outputString += "<BR>ID: " + attachment.id;
outputString += "<BR>contentType: " + attachment.contentType;
outputString += "<BR>size: " + attachment.size;
outputString += "<BR>attachmentType: " + attachment.attachmentType;
outputString += "<BR>isInline: " + attachment.isInline;
}
}
console.log(outputString);
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/get-attachments-read.yaml
const attachments = Office.context.mailbox.item.attachments;
console.log(attachments);
body
アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。
body: Body;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// 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"
}
categories
アイテムのカテゴリを管理するためのメソッドを提供する オブジェクトを取得します。
categories: Categories;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/45-categories/work-with-categories.yaml
Office.context.mailbox.item.categories.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const categories = asyncResult.value;
if (categories && categories.length > 0) {
console.log("Categories assigned to this item:");
console.log(JSON.stringify(categories));
} else {
console.log("There are no categories assigned to this item.");
}
} else {
console.error(asyncResult.error);
}
});
...
// Note: In order for you to successfully add a category,
// it must be in the mailbox categories master list.
Office.context.mailbox.masterCategories.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const masterCategories = asyncResult.value;
if (masterCategories && masterCategories.length > 0) {
// Grab the first category from the master list.
const categoryToAdd = [masterCategories[0].displayName];
Office.context.mailbox.item.categories.addAsync(categoryToAdd, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log(`Successfully assigned category '${categoryToAdd}' to item.`);
} else {
console.log("categories.addAsync call failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("There are no categories in the master list on this mailbox. You can add categories using Office.context.mailbox.masterCategories.addAsync.");
}
} else {
console.error(asyncResult.error);
}
});
...
Office.context.mailbox.item.categories.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const categories = asyncResult.value;
if (categories && categories.length > 0) {
// Grab the first category assigned to this item.
const categoryToRemove = [categories[0].displayName];
Office.context.mailbox.item.categories.removeAsync(categoryToRemove, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log(`Successfully unassigned category '${categoryToRemove}' from this item.`);
} else {
console.log("categories.removeAsync call failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("There are no categories assigned to this item.");
}
} else {
console.error(asyncResult.error);
}
});
cc
メッセージの CC (カーボン コピー) の受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
cc
プロパティは、メッセージの Cc 行にリストされている各受信者の EmailAddressDetails オブジェクトを含む配列を返します。 返される受信者の最大数は、Outlook クライアントによって異なります。
クラシック Windows: 500 人の受信者
Android、クラシック Mac UI、iOS: 100 受信者
Web ブラウザー、新しい Outlook: 20 人の受信者 (折りたたまれたビュー)、500 人の受信者 (展開ビュー)
新しい Mac UI: 制限なし
cc: EmailAddressDetails[];
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-cc-message-read.yaml
const msgCc = Office.context.mailbox.item.cc;
console.log("Message copied to:");
for (let i = 0; i < msgCc.length; i++) {
console.log(msgCc[i].displayName + " (" + msgCc[i].emailAddress + ")");
}
conversationId
特定のメッセージが含まれている電子メールの会話の識別子を取得します。
メール アプリを閲覧フォームでアクティブ化するか、新規作成フォームの返信でアクティブ化すると、このプロパティで整数を取得することができます。 その後、ユーザーが返信の件名を変更した場合、その返信の送信時にメッセージの会話 ID が変更され、以前に取得した値は適用されなくなります。
新規作成フォームで新しいアイテムに対してこのプロパティに null を取得します。 ユーザーが件名を設定し、アイテムを保存する場合、conversationId
プロパティは値を返します。
conversationId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// 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}`);
dateTimeCreated
アイテムが作成された日時を取得します。
dateTimeCreated: Date;
プロパティ値
Date
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-date-time-created-read.yaml
console.log(`Creation date and time: ${Office.context.mailbox.item.dateTimeCreated}`);
dateTimeModified
アイテムが最後に変更された日時を取得します。
dateTimeModified: Date;
プロパティ値
Date
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
重要: このプロパティは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-date-time-modified-read.yaml
console.log(`Date and time item last modified: ${Office.context.mailbox.item.dateTimeModified}`);
display
注意
この API は開発者向けにプレビューとして提供されており、寄せられたフィードバックにもとづいて変更される場合があります。 この API は運用環境で使用しないでください。
読み取りモードでメッセージの本文または件名に表示されるコンテンツを一時的に設定するオブジェクトを取得します。
display: Display;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/99-preview-apis/set-displayed-body-subject.yaml
// This snippet temporarily sets the content displayed in the body of a message in read mode.
// The set content will remain visible until the user switches to a different message in the Reading Pane or closes the window of the current message.
const bodyText = $("#body-text-field")
.val()
.toString();
Office.context.mailbox.item.display.body.setAsync(bodyText, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Action failed with error: ${asyncResult.error.message}`);
return;
}
console.log("Temporarily set the content displayed in the body.");
});
end
予定が終了する日時を取得します。
end
プロパティは、協定世界時 (UTC) の日付と時刻の値として表されるDate
オブジェクトです。
convertToLocalClientTime
メソッドを使用して、end
プロパティの値をクライアントのローカルの日付と時刻に変換できます。
Time.setAsync
メソッドを使用して終了時刻を設定する場合、convertToUtcClientTime
メソッドを使用して、クライアント上のローカルの時刻をサーバーの UTC に変換する必要があります。
end: Date;
プロパティ値
Date
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-end-read.yaml
console.log(`Appointment ends: ${Office.context.mailbox.item.end}`);
from
メッセージの送信者の電子メール アドレスを取得します。
メッセージが代理人から送信された場合を除き、from
プロパティと sender
プロパティは同一人物を表します。 その場合、 from
プロパティは委任子を表し、 sender
プロパティはデリゲートを表します。
注: from
プロパティ内のEmailAddressDetails
オブジェクトの recipientType
プロパティは未定義です。
from
プロパティは、EmailAddressDetails
オブジェクトを返します。
from: EmailAddressDetails;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-from-message-read.yaml
const msgFrom = Office.context.mailbox.item.from;
console.log("Message received from: " + msgFrom.displayName + " (" + msgFrom.emailAddress + ")");
internetMessageId
電子メール メッセージのインターネット メッセージ識別子を取得します。
重要: [送信済みアイテム] フォルダーでは、最近送信されたアイテムで internetMessageId
をまだ使用できない場合があります。 その場合は、Exchange Web Services を使用してサーバーからこのプロパティを取得することを検討してください。
internetMessageId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-internet-message-id-read.yaml
console.log(`Internet message ID: ${Office.context.mailbox.item.internetMessageId}`);
itemClass
選択したメッセージの Exchange Web Services アイテム クラスを取得します。
itemClass: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
次の表に、メッセージの既定の項目クラスを示します。
アイテム クラス | 説明 |
---|---|
IPM.Note | 新しいメッセージとメッセージ応答 |
IPM。Note.SMIME | 署名可能な暗号化されたメッセージ |
IPM。Note.SMIME.MultipartSigned | 暗号化キーが必要です。 |
IPM.Schedule.Meeting.Request | 会議出席依頼 |
IPM.Schedule.Meeting.Canceled | 会議のキャンセル |
IPM。Schedule.Meeting.Resp.Neg | 会議出席依頼に対する辞退の通知 |
IPM。Schedule.Meeting.Resp.Pos | 会議出席依頼を受け入れるための応答 |
IPM。Schedule.Meeting.Resp.Tent | 会議出席依頼に対する仮の受諾の通知 |
既定の項目クラスを拡張するカスタム クラスを作成できます。 たとえば、 IPM.Note.Contoso
。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-class-read.yaml
console.log(`Item class: ${Office.context.mailbox.item.itemClass}`);
itemId
現在の アイテムの Exchange Web Services (EWS) アイテム識別子 を取得します。
itemId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
itemId
プロパティは作成モードでは使用できません。 項目識別子が必要な場合は、Office.context.mailbox.item.saveAsync
メソッドを使用してアイテムをストアに保存できます。これにより、コールバック関数のasyncResult.value
パラメーターにアイテム識別子が返されます。 項目が既に保存されている場合は、代わりにOffice.context.mailbox.item.getItemIdAsync
メソッドを呼び出すことができます。返されるアイテム ID は、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、
Office.context.mailbox.convertToRestId
を使用して変換する必要があります。
例
// The following code checks for the presence of an item
// identifier. If the `itemId` property returns `null` or
// `undefined`, it saves the item to the store and gets the
// item identifier from the asynchronous result.
// **Important**: `saveAsync` was introduced with requirement set 1.3
// so you can't get the `itemId` in Compose mode in earlier sets.
let itemId = Office.context.mailbox.item.itemId;
if (itemId === null || itemId == undefined) {
Office.context.mailbox.item.saveAsync(function(result) {
itemId = result.value;
});
}
itemType
インスタンスが表しているアイテムの種類を取得します。
itemType
プロパティは、アイテム オブジェクト インスタンスがメッセージか予定かを示す、ItemType
列挙値のいずれかを返します。
itemType: MailboxEnums.ItemType | string;
プロパティ値
Office.MailboxEnums.ItemType | string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// 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;
}
location
会議出席依頼の場所を取得します。
location
プロパティは、予定の場所を格納した文字列を返します。
location: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-location-read.yaml
console.log(`Appointment location: ${Office.context.mailbox.item.location}`);
normalizedSubject
すべてのプレフィックスが削除された項目の件名を取得します (RE: と FWD:を含む)。
normalizedSubject
プロパティは、メール プログラムによって追加される標準プレフィックス (RE: や FW:など) を含むアイテムの件名を取得します。 これらのプレフィックスが付いたままの状態でアイテムの件名を取得するには、subject
プロパティを使用します。
normalizedSubject: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-normalized-subject-read.yaml
console.log(`Normalized subject: ${Office.context.mailbox.item.normalizedSubject}`);
notificationMessages
アイテムの通知メッセージを取得します。
notificationMessages: NotificationMessages;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// 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);
recurrence
予定の繰り返しパターンを取得します。 会議出席依頼の定期的なパターンを取得します。 予定アイテムの読み取りと作成モード。 会議出席依頼アイテムの読み取りモード。
recurrence
プロパティは、アイテムが系列または系列のインスタンスである場合、定期的な予定または会議の要求のRecurrence
オブジェクトを返します。
null
は、単一の予定と単一の予定の会議出席依頼に対して返されます。
undefined
は、会議出席依頼ではないメッセージに対して返されます。
注: 会議出席依頼の itemClass 値は IPM.Schedule.Meeting.Request
です。
注: recurrence
オブジェクトが null の場合、これは、オブジェクトが単一の予定であるか、単一の予定の会議出席依頼であり、一連の一部ではないことを示します。
recurrence: Recurrence;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/50-recurrence/get-recurrence-read.yaml
const recurrence = Office.context.mailbox.item.recurrence;
if (recurrence === undefined) {
console.log("This item is a message but not a meeting request.");
} else if (recurrence === null) {
console.log("This is a single appointment.");
} else {
console.log(JSON.stringify(recurrence));
}
sender
電子メール メッセージの送信者の電子メール アドレスを取得します。
メッセージが代理人から送信された場合を除き、from
プロパティと sender
プロパティは同一人物を表します。 その場合、 from
プロパティは委任子を表し、 sender
プロパティはデリゲートを表します。
注: sender
プロパティ内のEmailAddressDetails
オブジェクトの recipientType
プロパティは未定義です。
sender: EmailAddressDetails;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-sender-message-read.yaml
const msgSender = Office.context.mailbox.item.sender;
console.log("Sender: " + msgSender.displayName + " (" + msgSender.emailAddress + ")");
seriesId
インスタンスが属する系列の ID を取得します。
Outlook on the web、Windows (新規およびクラシック) と Mac では、seriesId
は、このアイテムが属する親 (シリーズ) アイテムの Exchange Web サービス (EWS) ID を返します。 ただし、Android および iOS 上の Outlook では、 seriesId
は親アイテムの REST ID を返します。
注: seriesId
プロパティによって返される識別子は、Exchange Web Services アイテム識別子と同じです。
seriesId
プロパティは、Outlook REST API で使用される Outlook ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、 Office.context.mailbox.convertToRestId
を使用して変換する必要があります。 詳細については、「 Outlook アドインから Outlook REST API を使用する」を参照してください。
seriesId
プロパティは、単一の予定、系列アイテム、会議出席依頼などの親アイテムを持たないアイテムのnull
を返し、会議出席依頼ではないその他のアイテムのundefined
を返します。
seriesId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/50-recurrence/get-series-id.yaml
const seriesId = Office.context.mailbox.item.seriesId;
if (seriesId === undefined) {
console.log("This is a message that's not a meeting request.");
} else if (seriesId === null) {
console.log("This is a single appointment, a parent series, or a meeting request for a series or single meeting.");
} else {
console.log("This is an instance belonging to series with ID " + seriesId);
}
start
予定が開始される日付と時刻を取得します。
start
プロパティは、協定世界時 (UTC) の日付と時刻の値として表されるDate
オブジェクトです。
convertToLocalClientTime
メソッドを使用して、値をクライアントのローカルの日付と時刻に変換できます。
start: Date;
プロパティ値
Date
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-start-read.yaml
console.log(`Appointment starts: ${Office.context.mailbox.item.start}`);
subject
アイテムの件名フィールドに表示される説明を取得します。
subject
プロパティは、電子メール サーバーによって送信されたアイテムの件名全体を取得または設定します。
subject
プロパティは文字列を返します。
normalizedSubject
プロパティを使用して、件名から RE: や FW: などの先頭プレフィックスを差し引いた値を取得します。
subject: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-subject-read.yaml
console.log(`Subject: ${Office.context.mailbox.item.subject}`);
to
メッセージの To 行にある受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
to
プロパティは、メッセージの [宛先] 行に一覧表示されている各受信者の EmailAddressDetails オブジェクトを含む配列を返します。 返される受信者の最大数は、Outlook クライアントによって異なります。
クラシック Windows: 500 人の受信者
Android、クラシック Mac UI、iOS: 100 受信者
Web ブラウザー、新しい Outlook: 20 人の受信者 (折りたたまれたビュー)、500 人の受信者 (展開ビュー)
新しい Mac UI: 制限なし
to: EmailAddressDetails[];
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-to-message-read.yaml
const msgTo = Office.context.mailbox.item.to;
const distributionLists = [];
const externalRecipients = [];
const internalRecipients = [];
const otherRecipients = [];
for (let i = 0; i < msgTo.length; i++) {
switch (msgTo[i].recipientType) {
case Office.MailboxEnums.RecipientType.DistributionList:
distributionLists.push(msgTo[i]);
break;
case Office.MailboxEnums.RecipientType.ExternalUser:
externalRecipients.push(msgTo[i]);
break;
case Office.MailboxEnums.RecipientType.User:
internalRecipients.push(msgTo[i]);
break;
case Office.MailboxEnums.RecipientType.Other:
otherRecipients.push(msgTo[i]);
}
}
if (distributionLists.length > 0) {
console.log("Distribution Lists:");
distributionLists.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}
if (externalRecipients.length > 0) {
console.log("External Recipients:");
externalRecipients.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}
if (internalRecipients.length > 0) {
console.log("Internal Recipients:");
internalRecipients.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}
if (otherRecipients.length > 0) {
console.log("Other Recipients:");
otherRecipients.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}
メソッドの詳細
addHandlerAsync(eventType, handler, options, callback)
サポートされているイベントのイベント ハンドラーを追加します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。
サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。
addHandlerAsync(eventType: Office.EventType | string, handler: any, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを呼び出す必要のあるイベント。
- handler
-
any
イベントを処理する関数。 関数は、オブジェクト リテラルである単一パラメーターを受け入れる必要があります。 パラメーターの type
プロパティは、addHandlerAsync
に渡される eventType parameter
と一致します。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
function myHandlerFunction(eventarg) {
if (eventarg.attachmentStatus === Office.MailboxEnums.AttachmentStatus.Added) {
const attachment = eventarg.attachmentDetails;
console.log("Event Fired and Attachment Added!");
getAttachmentContentAsync(attachment.id, options, callback);
}
}
Office.context.mailbox.item.addHandlerAsync(Office.EventType.AttachmentsChanged, myHandlerFunction, myCallback);
addHandlerAsync(eventType, handler, callback)
サポートされているイベントのイベント ハンドラーを追加します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。
サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。
addHandlerAsync(eventType: Office.EventType | string, handler: any, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを呼び出す必要のあるイベント。
- handler
-
any
イベントを処理する関数。 関数は、オブジェクト リテラルである単一パラメーターを受け入れる必要があります。 パラメーターの type
プロパティは、addHandlerAsync
に渡される eventType parameter
と一致します。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
displayReplyAllForm(formData)
選択したメッセージの送信者とすべての受信者、または開催者、および選択した予定のすべての出席者を含む返信フォームを表示します。
displayReplyAllForm(formData: string | ReplyFormData): void;
パラメーター
- formData
-
string | Office.ReplyFormData
回答フォームの本文を表すテキストと HTML が含まれる文字列。 文字列は、本文または添付ファイルのデータとコールバック関数を含む 32 KB または ReplyFormData オブジェクトに制限されています。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
重要:
Outlook on the webおよび新しい Outlook on Windowsでは、返信フォームは 3 列ビューにポップアップ フォームとして表示され、2 列または 1 列ビューにはポップアップ フォームとして表示されます。
文字列パラメーターのいずれかが制限値を超えると、
displayReplyAllForm
は例外をスローします。formData.attachments
パラメーターに添付ファイルを指定すると、Outlook はすべての添付ファイルをダウンロードし、返信フォームに添付しようとします。 添付ファイルの追加に失敗すると、フォーム UI でエラーが表示されます。 表示できない場合、エラー メッセージはスローされません。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// The following code passes a string to the `displayReplyAllForm` method.
Office.context.mailbox.item.displayReplyAllForm('hello there');
Office.context.mailbox.item.displayReplyAllForm('<b>hello there</b>');
// Reply with an empty body.
Office.context.mailbox.item.displayReplyAllForm({});
// Reply with just a body.
Office.context.mailbox.item.displayReplyAllForm(
{
'htmlBody' : 'hi'
});
// Reply with a body and a file attachment.
Office.context.mailbox.item.displayReplyAllForm(
{
'htmlBody' : 'hi',
'attachments' :
[
{
'type' : Office.MailboxEnums.AttachmentType.File,
'name' : 'squirrel.png',
'url' : 'http://i.imgur.com/sRgTlGR.jpg'
}
]
});
// Reply with a body and an item attachment.
Office.context.mailbox.item.displayReplyAllForm(
{
'htmlBody' : 'hi',
'attachments' :
[
{
'type' : 'item',
'name' : 'rand',
'itemId' : Office.context.mailbox.item.itemId
}
]
});
// Reply with a body, file attachment, item attachment, and a callback.
Office.context.mailbox.item.displayReplyAllForm(
{
'htmlBody' : 'hi',
'attachments' :
[
{
'type' : Office.MailboxEnums.AttachmentType.File,
'name' : 'squirrel.png',
'url' : 'http://i.imgur.com/sRgTlGR.jpg'
},
{
'type' : 'item',
'name' : 'rand',
'itemId' : Office.context.mailbox.item.itemId
}
],
'callback' : function(asyncResult)
{
console.log(asyncResult.value);
}
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml
Office.context.mailbox.item.displayReplyAllForm("This is a reply ALL with <b>some bold text</b>.");
displayReplyAllFormAsync(formData, options, callback)
選択したメッセージの送信者とすべての受信者、または開催者、および選択した予定のすべての出席者を含む返信フォームを表示します。
displayReplyAllFormAsync(formData: string | ReplyFormData, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- formData
-
string | Office.ReplyFormData
回答フォームの本文を表すテキストと HTML が含まれる文字列。 文字列は、本文または添付ファイルのデータとコールバック関数を含む 32 KB または ReplyFormData オブジェクトに制限されています。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
Outlook on the webおよび新しい Outlook on Windowsでは、返信フォームは 3 列ビューにポップアップ フォームとして表示され、2 列または 1 列ビューにはポップアップ フォームとして表示されます。
文字列パラメーターのいずれかが制限値を超えると、
displayReplyAllFormAsync
は例外をスローします。formData.attachments
パラメーターに添付ファイルを指定すると、Outlook はすべての添付ファイルをダウンロードし、返信フォームに添付しようとします。 添付ファイルの追加に失敗すると、フォーム UI でエラーが表示されます。 表示できない場合、エラー メッセージはスローされません。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml
Office.context.mailbox.item.displayReplyAllFormAsync("This is a reply ALL with <b>some bold text</b>.", function(
asyncResult
) {
console.log(JSON.stringify(asyncResult));
});
displayReplyAllFormAsync(formData, callback)
選択したメッセージの送信者とすべての受信者、または開催者、および選択した予定のすべての出席者を含む返信フォームを表示します。
displayReplyAllFormAsync(formData: string | ReplyFormData, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- formData
-
string | Office.ReplyFormData
回答フォームの本文を表すテキストと HTML が含まれる文字列。 文字列は、本文または添付ファイルのデータとコールバック関数を含む 32 KB または ReplyFormData オブジェクトに制限されています。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
Outlook on the webおよび新しい Outlook on Windowsでは、返信フォームは 3 列ビューにポップアップ フォームとして表示され、2 列または 1 列ビューにはポップアップ フォームとして表示されます。
文字列パラメーターのいずれかが制限値を超えると、
displayReplyAllFormAsync
は例外をスローします。formData.attachments
パラメーターに添付ファイルを指定すると、Outlook はすべての添付ファイルをダウンロードし、返信フォームに添付しようとします。 添付ファイルの追加に失敗すると、フォーム UI でエラーが表示されます。 表示できない場合、エラー メッセージはスローされません。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
displayReplyForm(formData)
選択したメッセージの送信者のみ、または選択した予定の開催者のみを含む回答フォームが表示されます。
displayReplyForm(formData: string | ReplyFormData): void;
パラメーター
- formData
-
string | Office.ReplyFormData
回答フォームの本文を表すテキストと HTML が含まれる文字列。 文字列は、本文または添付ファイルのデータとコールバック関数を含む 32 KB または ReplyFormData オブジェクトに制限されています。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
Outlook on the webおよび新しい Outlook on Windowsでは、返信フォームは 3 列ビューにポップアップ フォームとして表示され、2 列または 1 列ビューにはポップアップ フォームとして表示されます。
文字列パラメーターのいずれかが制限値を超えると、
displayReplyForm
は例外をスローします。formData.attachments
パラメーターに添付ファイルを指定すると、Outlook はすべての添付ファイルをダウンロードし、返信フォームに添付しようとします。 添付ファイルの追加に失敗すると、フォーム UI でエラーが表示されます。 表示できない場合、エラー メッセージはスローされません。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml
Office.context.mailbox.item.displayReplyForm("This is a reply with <i>some text in italics</i>.");
...
Office.context.mailbox.item.displayReplyForm({
htmlBody: "This is a reply with an inline image and an item attachment.<br><img src='cid:dog.jpg'>",
attachments: [
{ type: "file", url: "https://i.imgur.com/9S36xvA.jpg", name: "dog.jpg", inLine: true },
{ type: "item", itemId: Office.context.mailbox.item.itemId, name: "test_email.msg" }
],
callback: (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log("Created reply with attachments.");
}
});
displayReplyFormAsync(formData, options, callback)
選択したメッセージの送信者のみ、または選択した予定の開催者のみを含む回答フォームが表示されます。
displayReplyFormAsync(formData: string | ReplyFormData, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- formData
-
string | Office.ReplyFormData
回答フォームの本文を表すテキストと HTML が含まれる文字列。 文字列は、本文または添付ファイルのデータとコールバック関数を含む 32 KB または ReplyFormData オブジェクトに制限されています。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
Outlook on the webおよび新しい Outlook on Windowsでは、返信フォームは 3 列ビューにポップアップ フォームとして表示され、2 列または 1 列ビューにはポップアップ フォームとして表示されます。
文字列パラメーターのいずれかが制限値を超えると、
displayReplyFormAsync
は例外をスローします。formData.attachments
パラメーターに添付ファイルを指定すると、Outlook はすべての添付ファイルをダウンロードし、返信フォームに添付しようとします。 添付ファイルの追加に失敗すると、フォーム UI でエラーが表示されます。 表示できない場合、エラー メッセージはスローされません。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml
Office.context.mailbox.item.displayReplyFormAsync("This is a reply with <i>some text in italics</i>.", function(
asyncResult
) {
console.log(JSON.stringify(asyncResult));
});
...
// The async version is only available starting with requirement set 1.9.
// It provides a callback when the new appointment form has been created.
Office.context.mailbox.item.displayReplyFormAsync(
{
htmlBody: "This is a reply with an inline image and an item attachment.<br><img src='cid:dog.jpg'>",
attachments: [
{ type: "file", url: "http://i.imgur.com/9S36xvA.jpg", name: "dog.jpg", inLine: true },
{ type: "item", itemId: Office.context.mailbox.item.itemId, name: "test_email.msg" }
]
},
(asyncResult) => {
console.log(JSON.stringify(asyncResult));
}
);
displayReplyFormAsync(formData, callback)
選択したメッセージの送信者のみ、または選択した予定の開催者のみを含む回答フォームが表示されます。
displayReplyFormAsync(formData: string | ReplyFormData, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- formData
-
string | Office.ReplyFormData
回答フォームの本文を表すテキストと HTML が含まれる文字列。 文字列は、本文または添付ファイルのデータとコールバック関数を含む 32 KB または ReplyFormData オブジェクトに制限されています。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
Outlook on the webおよび新しい Outlook on Windowsでは、返信フォームは 3 列ビューにポップアップ フォームとして表示され、2 列または 1 列ビューにはポップアップ フォームとして表示されます。
文字列パラメーターのいずれかが制限値を超えると、
displayReplyFormAsync
は例外をスローします。formData.attachments
パラメーターに添付ファイルを指定すると、Outlook はすべての添付ファイルをダウンロードし、返信フォームに添付しようとします。 添付ファイルの追加に失敗すると、フォーム UI でエラーが表示されます。 表示できない場合、エラー メッセージはスローされません。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
getAllInternetHeadersAsync(options, callback)
メッセージのすべてのインターネット ヘッダーを文字列として取得します。
詳細については、「 Outlook アドインのメッセージでインターネット ヘッダーを取得して設定する」を参照してください。
getAllInternetHeadersAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。 成功すると、インターネット ヘッダー データは asyncResult.value
プロパティで文字列として提供されます。 返される文字列値の書式設定情報については、 RFC 2183 を参照してください。 呼び出しが失敗した場合、 asyncResult.error
プロパティにはエラー コードが含まれます。エラーの理由が示されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/70-mime-headers/get-internet-headers-message-read.yaml
Office.context.mailbox.item.getAllInternetHeadersAsync(function (asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Internet headers received successfully");
if (asyncResult.value.match(/preferred-fruit:.*/gim)) {
console.log("Sender's preferred fruit: " + asyncResult.value.match(/preferred-fruit:.*/gim)[0].slice(17));
} else {
console.log("Didn't receive header with sender's preferred fruit");
}
if (asyncResult.value.match(/preferred-vegetable:.*/gim)) {
console.log(
"Sender's preferred vegetable: " + asyncResult.value.match(/preferred-vegetable:.*/gim)[0].slice(21)
);
} else {
console.log("Didn't receive header with sender's preferred vegetable");
}
} else {
console.log("Error getting internet headers: " + JSON.stringify(asyncResult.error));
}
});
getAllInternetHeadersAsync(callback)
メッセージのすべてのインターネット ヘッダーを文字列として取得します。
詳細については、「 Outlook アドインのメッセージでインターネット ヘッダーを取得して設定する」を参照してください。
getAllInternetHeadersAsync(callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。 成功すると、インターネット ヘッダー データは asyncResult.value
プロパティで文字列として提供されます。 返される文字列値の書式設定情報については、 RFC 2183 を参照してください。 呼び出しが失敗した場合、 asyncResult.error
プロパティにはエラー コードが含まれます。エラーの理由が示されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
getAsFileAsync(options, callback)
Base64 でエンコードされた EML 形式の現在のメッセージを取得します。
getAsFileAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、コールバック パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。 メッセージの Base64 でエンコードされた EML 形式は、 asyncResult.value
プロパティで返されます。 発生したすべてのエラーは、 asyncResult.error
プロパティで返されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
getAsFileAsync(callback)
Base64 でエンコードされた EML 形式の現在のメッセージを取得します。
getAsFileAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、コールバック パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。 メッセージの Base64 でエンコードされた EML 形式は、 asyncResult.value
プロパティで返されます。 発生したすべてのエラーは、 asyncResult.error
プロパティで返されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-eml-format.yaml
Office.context.mailbox.item.getAsFileAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Error encountered during processing: ${asyncResult.error.message}`);
return;
}
console.log(asyncResult.value);
});
getAttachmentContentAsync(attachmentId, options, callback)
メッセージまたは予定から添付ファイルを取得し、 AttachmentContent
オブジェクトとして返します。
getAttachmentContentAsync
メソッドは、指定した識別子を持つ添付ファイルをアイテムから取得します。 ベスト プラクティスとして、 item.attachments 呼び出しから添付ファイルの識別子を取得し、同じセッションでその識別子を使用して添付ファイルを取得する必要があります。 Outlook on the web、モバイル デバイス、および新しい Outlook on Windows では添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。
getAttachmentContentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;
パラメーター
- attachmentId
-
string
取得する添付ファイルの識別子。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。 呼び出しが失敗した場合、 asyncResult.error
プロパティにはエラー コードが含まれます。エラーの理由が示されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
エラー:
AttachmentTypeNotSupported
: 添付ファイルの種類はサポートされていません。 サポートされていない種類には、リッチ テキスト形式の埋め込み画像や、メールや予定表アイテム以外のアイテムの添付ファイルの種類 (連絡先やタスク アイテムなど) が含まれます。InvalidAttachmentId
: 添付ファイル識別子が存在しません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/get-attachment-content.yaml
// Gets the attachments of the current message or appointment in read mode.
// The item.attachments call can only be used in read mode.
const attachments = item.attachments;
if (attachments.length <= 0) {
console.log("Mail item has no attachments.");
return;
}
for (let i = 0; i < attachments.length; i++) {
// Log the attachment type and its contents to the console.
item.getAttachmentContentAsync(attachments[i].id, handleAttachmentsCallback);
}
getAttachmentContentAsync(attachmentId, callback)
メッセージまたは予定から添付ファイルを取得し、 AttachmentContent
オブジェクトとして返します。
getAttachmentContentAsync
メソッドは、指定した識別子を持つ添付ファイルをアイテムから取得します。 ベスト プラクティスとして、 item.attachments 呼び出しから添付ファイルの識別子を取得し、同じセッションでその識別子を使用して添付ファイルを取得する必要があります。 Outlook on the web、モバイル デバイス、および新しい Outlook on Windows では添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。
getAttachmentContentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;
パラメーター
- attachmentId
-
string
取得する添付ファイルの識別子。
- callback
-
(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。 呼び出しが失敗した場合、 asyncResult.error
プロパティにはエラー コードが含まれます。エラーの理由が示されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
エラー:
AttachmentTypeNotSupported
: 添付ファイルの種類はサポートされていません。 サポートされていない種類には、リッチ テキスト形式の埋め込み画像や、メールや予定表アイテム以外のアイテムの添付ファイルの種類 (連絡先やタスク アイテムなど) が含まれます。InvalidAttachmentId
: 添付ファイル識別子が存在しません。
getEntities()
選択したアイテムの本文にあるエンティティを取得します。
警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
getEntities(): Entities;
戻り値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
getEntitiesByType(entityType)
選択したアイテムの本文内で検出された指定のエンティティ型のすべてのエンティティを含む配列を取得します。
警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
getEntitiesByType(entityType: MailboxEnums.EntityType | string): Array<string | Contact | MeetingSuggestion | PhoneNumber | TaskSuggestion>;
パラメーター
- entityType
-
Office.MailboxEnums.EntityType | string
EntityType
列挙値の 1 つ。
戻り値
Array<string | Office.Contact | Office.MeetingSuggestion | Office.PhoneNumber | Office.TaskSuggestion>
entityType
で渡された値がEntityType
列挙体の有効なメンバーでない場合、メソッドはnull
を返します。 指定した型のエンティティがアイテムの本文に存在しない場合、メソッドは空の配列を返します。 それ以外の場合は、返される配列内のオブジェクトの型は、entityType
パラメーター内の要求されたエンティティの型によって異なります。
注釈
最小アクセス許可レベル: 制限あり
適用できる Outlook モード: メッセージの読み取り
getFilteredEntitiesByName(name)
アドインのみのマニフェスト ファイルで定義されている名前付きフィルターを渡す、選択した項目の既知のエンティティを返します。
警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
getFilteredEntitiesByName(name: string): Array<string | Contact | MeetingSuggestion | PhoneNumber | TaskSuggestion>;
パラメーター
- name
-
string
一致するフィルターを定義する ItemHasKnownEntity
ルール要素の名前。
戻り値
Array<string | Office.Contact | Office.MeetingSuggestion | Office.PhoneNumber | Office.TaskSuggestion>
アドイン マニフェスト ファイルの ItemHasKnownEntity
ルール要素で定義されている正規表現と、指定した FilterName
要素の値と一致するエンティティ。
name
パラメーターと一致するFilterName
要素値を持つItemHasKnownEntity
要素がマニフェストに存在しない場合、メソッドはnull
を返します。
name
パラメーターがマニフェスト内のItemHasKnownEntity
要素と一致するが、現在のアイテムに一致するエンティティがない場合、メソッドは空の配列を返します。
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
getInitializationContextAsync(options, callback)
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。
getInitializationContextAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、 callback
パラメーターで渡された関数が、 Office.AsyncResult
型の 1 つのパラメーターで呼び出されます。 成功すると、初期化コンテキスト データは、 asyncResult.value
プロパティの文字列 (または初期化コンテキストがない場合は空の文字列) として提供されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Get the initialization context (if present).
Office.context.mailbox.item.getInitializationContextAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
if (asyncResult.value.length > 0) {
// The value is a string, parse to an object.
const context = JSON.parse(asyncResult.value);
// Do something with context.
} else {
// Empty context, treat as no context.
}
} else {
// Handle the error.
}
});
getInitializationContextAsync(callback)
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。
getInitializationContextAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、 callback
パラメーターで渡された関数が、 Office.AsyncResult
型の 1 つのパラメーターで呼び出されます。 成功すると、初期化コンテキスト データは、 asyncResult.value
プロパティの文字列 (または初期化コンテキストがない場合は空の文字列) として提供されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
getRegExMatches()
アドインのみのマニフェスト ファイルで定義されている正規表現に一致する、選択した項目の文字列値を返します。
getRegExMatches(): any;
戻り値
any
アドイン マニフェスト ファイルで定義されている正規表現に一致する文字列の配列を格納するオブジェクト。 各配列の名前は、一致する ItemHasRegularExpressionMatch
ルールの RegExName 属性の対応する値と等しくなります。
ItemHasRegularExpressionMatch
ルールの場合、一致する文字列は、そのルールによって指定された項目のプロパティで発生する必要があります。 単純型は、サポートされるプロパティを定義します。
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
重要:
エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
このメソッドは、Outlook アドインのライセンス認証ルール機能で使用されます。これは、Microsoft 365 の統合マニフェストではサポートされていません。
アイテムの body プロパティに
ItemHasRegularExpressionMatch
ルールを指定した場合、正規表現は本文をさらにフィルター処理し、アイテムの本文全体を返そうとしないでください。.*
などの正規表現を使用してアイテムの本文全体を取得すると、常に期待される結果が返されるとは限りません。 この場合、代わりにBody.getAsync
メソッドを使用して本文全体を取得します。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Consider an add-in manifest has the following `Rule` element:
//<Rule xsi:type="RuleCollection" Mode="And">
// <Rule xsi:type="ItemIs" FormType="Read" ItemType="Message" />
// <Rule xsi:type="RuleCollection" Mode="Or">
// <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="fruits" RegExValue="apple|banana|coconut" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
// <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="veggies" RegExValue="tomato|onion|spinach|broccoli" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
// </Rule>
//</Rule>
// The object returned from `getRegExMatches` would have two properties: `fruits` and `veggies`.
//{
//'fruits': ['apple','banana','Banana','coconut'],
//'veggies': ['tomato','onion','spinach','broccoli']
//}
// The following example shows how to access the array of
// matches for the regular expression rule elements `fruits`
// and `veggies`, which are specified in the manifest.
const allMatches = Office.context.mailbox.item.getRegExMatches();
const fruits = allMatches.fruits;
const veggies = allMatches.veggies;
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-regex-matches/contextual.yaml
// This API only works when you click on the highlighted word "ScriptLab".
console.log(Office.context.mailbox.item.getRegExMatches());
getRegExMatchesByName(name)
アドインのみのマニフェスト ファイルで定義されている名前付き正規表現と一致する、選択した項目の文字列値を返します。
getRegExMatchesByName(name: string): string[];
パラメーター
- name
-
string
一致するフィルターを定義する ItemHasRegularExpressionMatch
ルール要素の名前。
戻り値
string[]
アドイン マニフェスト ファイル内の ItemHasRegularExpressionMatch
rule 要素で定義されている正規表現に一致する文字列と、指定した RegExName
要素値を含む配列。
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
重要:
エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
このメソッドは、Outlook アドインのライセンス認証ルール機能で使用されます。これは、Microsoft 365 の統合マニフェストではサポートされていません。
アイテムの body プロパティに
ItemHasRegularExpressionMatch
ルールを指定した場合、正規表現は本文をさらにフィルター処理し、アイテムの本文全体を返そうとしないでください。.*
などの正規表現を使用してアイテムの本文全体を取得すると、常に期待される結果が返されるとは限りません。 この場合、代わりにBody.getAsync
メソッドを使用して本文全体を取得します。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Consider an add-in manifest has the following `Rule` element:
//<Rule xsi:type="RuleCollection" Mode="And">
// <Rule xsi:type="ItemIs" FormType="Read" ItemType="Message" />
// <Rule xsi:type="RuleCollection" Mode="Or">
// <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="fruits" RegExValue="apple|banana|coconut" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
// <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="veggies" RegExValue="tomato|onion|spinach|broccoli" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
// </Rule>
//</Rule>
// The object returned from `getRegExMatches` would have two properties: `fruits` and `veggies`.
//{
//'fruits': ['apple','banana','Banana','coconut'],
//'veggies': ['tomato','onion','spinach','broccoli']
//}
const fruits = Office.context.mailbox.item.getRegExMatchesByName("fruits");
const veggies = Office.context.mailbox.item.getRegExMatchesByName("veggies");
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-regex-matches/contextual.yaml
// This API only works when you click on the highlighted word "ScriptLab".
console.log(Office.context.mailbox.item.getRegExMatchesByName("sampleRegexName"));
getSelectedEntities()
強調表示された一致内で見つかったユーザーが選択しているエンティティを取得します。 強調表示された一致は、コンテキスト アドインに適用されます。
警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
getSelectedEntities(): Entities;
戻り値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
getSelectedRegExMatches()
アドインのみのマニフェスト ファイルで定義されている正規表現と一致する強調表示された一致の文字列値を返します。 強調表示された一致は、コンテキスト アドインに適用されます。
getSelectedRegExMatches(): any;
戻り値
any
アドイン マニフェスト ファイルで定義されている正規表現に一致する文字列の配列を格納するオブジェクト。 各配列の名前は、一致するItemHasRegularExpressionMatch
規則のRegExName
属性の対応する値と等しくなります。
ItemHasRegularExpressionMatch
ルールの場合、一致する文字列は、そのルールによって指定された項目のプロパティで発生する必要があります。 単純型は、サポートされるプロパティを定義します。
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
このメソッドは、Outlook アドインのライセンス認証ルール機能で使用されます。これは、Microsoft 365 の統合マニフェストではサポートされていません。
このメソッドは、Outlook on iOS または Android ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
アイテムの body プロパティに
ItemHasRegularExpressionMatch
ルールを指定した場合、正規表現は本文をさらにフィルター処理し、アイテムの本文全体を返そうとしないでください。 .* などの正規表現を使用してアイテムの本文全体を取得しても、常に期待される結果が返されるとは限りません。 この場合、代わりにBody.getAsync
メソッドを使用して本文全体を取得します。
例
// Consider an add-in manifest has the following `Rule` element:
//<Rule xsi:type="RuleCollection" Mode="And">
// <Rule xsi:type="ItemIs" FormType="Read" ItemType="Message" />
// <Rule xsi:type="RuleCollection" Mode="Or">
// <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="fruits" RegExValue="apple|banana|coconut" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
// <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="veggies" RegExValue="tomato|onion|spinach|broccoli" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
// </Rule>
//</Rule>
// The object returned from `getRegExMatches` would have two properties: `fruits` and `veggies`.
//{
//'fruits': ['apple','banana','Banana','coconut'],
//'veggies': ['tomato','onion','spinach','broccoli']
//}
// The following example shows how to access the array of matches for the
// regular expression rule elements `fruits` and `veggies`, which are
// specified in the manifest.
const selectedMatches = Office.context.mailbox.item.getSelectedRegExMatches();
const fruits = selectedMatches.fruits;
const veggies = selectedMatches.veggies;
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-regex-matches/contextual.yaml
const matches = Office.context.mailbox.item.getSelectedRegExMatches();
if (matches) {
console.log(matches);
} else {
console.error("Open add-in by clicking on a highlighted regex match, for this API to return something useful.");
}
getSharedPropertiesAsync(options, callback)
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。
この API の使用方法の詳細については、「 Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。
getSharedPropertiesAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<Office.SharedProperties>) => void
メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。
asyncResult.value
プロパティは、共有アイテムのプロパティを提供します。
戻り値
void
注釈
[ API セット: 共有フォルダーのサポート用メールボックス 1.8、共有メールボックスサポート用メールボックス 1.13 ]
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
注: この方法は、Outlook on iOS または Android ではサポートされていません。
getSharedPropertiesAsync(callback)
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します (プレビュー段階)。
この API の使用方法の詳細については、「 Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。
getSharedPropertiesAsync(callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<Office.SharedProperties>) => void
メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。
asyncResult.value
プロパティは、共有アイテムのプロパティを提供します。
戻り値
void
注釈
[ API セット: 共有フォルダーのサポート用メールボックス 1.8、共有メールボックスサポート用メールボックス 1.13 ]
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
注: この方法は、Outlook on iOS または Android ではサポートされていません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/65-delegates-and-shared-folders/get-shared-properties.yaml
Office.context.mailbox.item.getSharedPropertiesAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error("The current folder or mailbox isn't shared.");
return;
}
const sharedProperties = result.value;
console.log(`Owner: ${sharedProperties.owner}`);
console.log(`Permissions: ${sharedProperties.delegatePermissions}`);
console.log(`Target mailbox: ${sharedProperties.targetMailbox}`);
});
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 モード: メッセージの読み取り
例
// 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.");
});
removeHandlerAsync(eventType, options, callback)
サポートされているイベントの種類のイベント ハンドラーを削除します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。
サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。
removeHandlerAsync(eventType: Office.EventType | string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを取り消すイベント。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext
: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
removeHandlerAsync(eventType, callback)
サポートされているイベントの種類のイベント ハンドラーを削除します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。
サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。
removeHandlerAsync(eventType: Office.EventType | string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを取り消すイベント。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback
パラメーターで渡された関数が、Office.AsyncResult
オブジェクトである 1 つのパラメーターasyncResult
で呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
Office.context.mailbox.item.removeHandlerAsync(Office.EventType.ItemChanged, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.error("Failed to remove event handler: " + asyncResult.error.message);
return;
}
console.log("Event handler removed successfully.");
});
Office Add-ins