次の方法で共有


Office.MessageRead interface

Office.context.mailbox.item のメッセージ読み取りモード。

重要: これは内部 Outlook オブジェクトであり、既存のインターフェイスを介して直接公開されることはありません。 これは、 Office.context.mailbox.itemのモードとして扱う必要があります。 詳細については、「 オブジェクト モデル 」ページを参照してください。

親インターフェイス:

Extends

プロパティ

attachments

項目の添付ファイルを配列として取得します。

body

アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。

cc

メッセージの CC (カーボン コピー) の受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。

cc プロパティは、メッセージの Cc 行にリストされている各受信者の EmailAddressDetails オブジェクトを含む配列を返します。 返される受信者の最大数は、Outlook クライアントによって異なります。

  • クラシック Windows: 500 人の受信者

  • Android、クラシック Mac UI、iOS: 100 受信者

  • Web ブラウザー、新しい Outlook: 20 人の受信者 (折りたたまれたビュー)、500 人の受信者 (展開ビュー)

  • 新しい Mac UI: 制限なし

conversationId

特定のメッセージが含まれている電子メールの会話の識別子を取得します。

メール アプリを閲覧フォームでアクティブ化するか、新規作成フォームの返信でアクティブ化すると、このプロパティで整数を取得することができます。 その後、ユーザーが返信の件名を変更した場合、その返信の送信時にメッセージの会話 ID が変更され、以前に取得した値は適用されなくなります。

新規作成フォームで新しいアイテムに対してこのプロパティに null を取得します。 ユーザーが件名を設定し、アイテムを保存する場合、conversationId プロパティは値を返します。

dateTimeCreated

アイテムが作成された日時を取得します。

dateTimeModified

アイテムが最後に変更された日時を取得します。

end

予定が終了する日時を取得します。

end プロパティは、協定世界時 (UTC) の日付と時刻の値として表されるDate オブジェクトです。 convertToLocalClientTime メソッドを使用して、end プロパティの値をクライアントのローカルの日付と時刻に変換できます。

Time.setAsync メソッドを使用して終了時刻を設定する場合、convertToUtcClientTime メソッドを使用して、クライアント上のローカルの時刻をサーバーの UTC に変換する必要があります。

from

メッセージの送信者の電子メール アドレスを取得します。

メッセージが代理人から送信された場合を除き、from プロパティと sender プロパティは同一人物を表します。 その場合、 from プロパティは委任子を表し、 sender プロパティはデリゲートを表します。

: from プロパティ内のEmailAddressDetails オブジェクトの recipientType プロパティは未定義です。

from プロパティは、EmailAddressDetails オブジェクトを返します。

internetMessageId

電子メール メッセージのインターネット メッセージ識別子を取得します。

重要: [送信済みアイテム] フォルダーでは、最近送信されたアイテムで internetMessageId をまだ使用できない場合があります。 その場合は、Exchange Web Services を使用してサーバーからこのプロパティを取得することを検討してください

itemClass

選択したメッセージの Exchange Web Services アイテム クラスを取得します。

itemId

現在の アイテムの Exchange Web Services アイテム識別子 を取得します。

itemId プロパティは作成モードでは使用できません。 項目識別子が必要な場合は、 saveAsync メソッドを使用してアイテムをストアに保存できます。これにより、コールバック関数の asyncResult.value パラメーターにアイテム識別子が返されます。

: itemId プロパティによって返される識別子は、 Exchange Web Services アイテム識別子と同じです。 itemId プロパティは、Outlook Entry ID または Outlook REST API で使用される ID と同一ではありません。 この値を使用して REST API 呼び出しを行う前に、 Office.context.mailbox.convertToRestIdを使用して変換する必要があります。 詳細については、「 Outlook アドインから Outlook REST API を使用する」を参照してください。

itemType

インスタンスが表しているアイテムの種類を取得します。

itemType プロパティは、アイテム オブジェクト インスタンスがメッセージか予定かを示す、ItemType列挙値のいずれかを返します。

location

会議出席依頼の場所を取得します。

location プロパティは、予定の場所を格納した文字列を返します。

normalizedSubject

すべてのプレフィックスが削除された項目の件名を取得します (RE: と FWD:を含む)。

normalizedSubject プロパティは、メール プログラムによって追加される標準プレフィックス (RE: や FW:など) を含むアイテムの件名を取得します。 これらのプレフィックスが付いたままの状態でアイテムの件名を取得するには、subject プロパティを使用します。

notificationMessages

アイテムの通知メッセージを取得します。

recurrence

予定の繰り返しパターンを取得します。 会議出席依頼の定期的なパターンを取得します。 予定アイテムの読み取りと作成モード。 会議出席依頼アイテムの読み取りモード。

recurrence プロパティは、アイテムが系列または系列のインスタンスである場合、定期的な予定または会議の要求のRecurrence オブジェクトを返します。 null は、単一の予定と単一の予定の会議出席依頼に対して返されます。 undefined は、会議出席依頼ではないメッセージに対して返されます。

: 会議出席依頼の itemClass 値は IPM.Schedule.Meeting.Request です。

: recurrence オブジェクトが null の場合、これは、オブジェクトが単一の予定であるか、単一の予定の会議出席依頼であり、一連の一部ではないことを示します。

sender

電子メール メッセージの送信者の電子メール アドレスを取得します。

メッセージが代理人から送信された場合を除き、from プロパティと sender プロパティは同一人物を表します。 その場合、 from プロパティは委任子を表し、 sender プロパティはデリゲートを表します。

: sender プロパティ内のEmailAddressDetails オブジェクトの recipientType プロパティは未定義です。

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を返します。

start

予定が開始される日付と時刻を取得します。

start プロパティは、協定世界時 (UTC) の日付と時刻の値として表されるDate オブジェクトです。 convertToLocalClientTime メソッドを使用して、値をクライアントのローカルの日付と時刻に変換できます。

subject

アイテムの件名フィールドに表示される説明を取得します。

subject プロパティは、電子メール サーバーによって送信されたアイテムの件名全体を取得または設定します。

subject プロパティは文字列を返します。 normalizedSubject プロパティを使用して、件名から RE: や FW: などの先頭プレフィックスを差し引いた値を取得します。

to

メッセージの To 行にある受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。

to プロパティは、メッセージの [宛先] 行に一覧表示されている各受信者の EmailAddressDetails オブジェクトを含む配列を返します。 返される受信者の最大数は、Outlook クライアントによって異なります。

  • クラシック Windows: 500 人の受信者

  • Android、クラシック Mac UI、iOS: 100 受信者

  • Web ブラウザー、新しい Outlook: 20 人の受信者 (折りたたまれたビュー)、500 人の受信者 (展開ビュー)

  • 新しい Mac UI: 制限なし

メソッド

addHandlerAsync(eventType, handler, options, callback)

サポートされているイベントのイベント ハンドラーを追加します。 : イベントは、作業ウィンドウの実装でのみ使用できます。

サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。

addHandlerAsync(eventType, handler, callback)

サポートされているイベントのイベント ハンドラーを追加します。 : イベントは、作業ウィンドウの実装でのみ使用できます。

サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。

displayReplyAllForm(formData)

選択したメッセージの送信者とすべての受信者、または開催者、および選択した予定のすべての出席者を含む返信フォームを表示します。

displayReplyForm(formData)

選択したメッセージの送信者のみ、または選択した予定の開催者のみを含む回答フォームが表示されます。

getEntities()

選択したアイテムの本文にあるエンティティを取得します。

警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。

getEntitiesByType(entityType)

選択したアイテムの本文内で検出された指定のエンティティ型のすべてのエンティティを含む配列を取得します。

警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。

getFilteredEntitiesByName(name)

アドインのみのマニフェスト ファイルで定義されている名前付きフィルターを渡す、選択した項目の既知のエンティティを返します。

警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。

getRegExMatches()

アドインのみのマニフェスト ファイルで定義されている正規表現に一致する、選択した項目の文字列値を返します。

getRegExMatchesByName(name)

アドインのみのマニフェスト ファイルで定義されている名前付き正規表現と一致する、選択した項目の文字列値を返します。

getSelectedEntities()

強調表示された一致内で見つかったユーザーが選択しているエンティティを取得します。 強調表示された一致は、コンテキスト アドインに適用されます。

警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。

getSelectedRegExMatches()

アドインのみのマニフェスト ファイルで定義されている正規表現と一致する強調表示された一致の文字列値を返します。 強調表示された一致は、コンテキスト アドインに適用されます。

loadCustomPropertiesAsync(callback, userContext)

選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。

カスタム プロパティは、アプリごとに項目ごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。これにより、現在のアイテムと現在のアドインに固有のカスタム プロパティにアクセスするメソッドが提供されます。 カスタム プロパティはアイテムで暗号化されないため、セキュリティで保護されたストレージとして使用しないでください。

カスタム プロパティは asyncResult.value プロパティの CustomProperties オブジェクトとして指定されます。 このオブジェクトを使用して、メール アイテムのカスタム プロパティを取得、設定、保存、および削除できます。

removeHandlerAsync(eventType, options, callback)

サポートされているイベントの種類のイベント ハンドラーを削除します。 : イベントは、作業ウィンドウの実装でのみ使用できます。

サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。

removeHandlerAsync(eventType, callback)

サポートされているイベントの種類のイベント ハンドラーを削除します。 : イベントは、作業ウィンドウの実装でのみ使用できます。

サポートされるイベントについては、「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;

プロパティ値

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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"
}

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

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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}`);

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.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 アイテム識別子 を取得します。

itemId プロパティは作成モードでは使用できません。 項目識別子が必要な場合は、 saveAsync メソッドを使用してアイテムをストアに保存できます。これにより、コールバック関数の asyncResult.value パラメーターにアイテム識別子が返されます。

: itemId プロパティによって返される識別子は、 Exchange Web Services アイテム識別子と同じです。 itemId プロパティは、Outlook Entry ID または Outlook REST API で使用される ID と同一ではありません。 この値を使用して REST API 呼び出しを行う前に、 Office.context.mailbox.convertToRestIdを使用して変換する必要があります。 詳細については、「 Outlook アドインから Outlook REST API を使用する」を参照してください。

itemId: string;

プロパティ値

string

注釈

最小アクセス許可レベル: 読み取り項目

適用できる Outlook モード: メッセージの読み取り

// 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;

プロパティ値

注釈

最小アクセス許可レベル: 読み取り項目

適用できる 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;

プロパティ値

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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;

プロパティ値

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる Outlook モード: メッセージの読み取り

displayReplyAllForm(formData)

選択したメッセージの送信者とすべての受信者、または開催者、および選択した予定のすべての出席者を含む返信フォームを表示します。

displayReplyAllForm(formData: string | ReplyFormData): void;

パラメーター

formData

string | Office.ReplyFormData

回答フォームの本文を表すテキストと HTML が含まれる文字列。 文字列は、本文または添付ファイルのデータとコールバック関数を含む 32 KB または ReplyFormData オブジェクトに制限されています。

戻り値

void

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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>.");

displayReplyForm(formData)

選択したメッセージの送信者のみ、または選択した予定の開催者のみを含む回答フォームが表示されます。

displayReplyForm(formData: string | ReplyFormData): void;

パラメーター

formData

string | Office.ReplyFormData

回答フォームの本文を表すテキストと HTML が含まれる文字列。 文字列は、本文または添付ファイルのデータとコールバック関数を含む 32 KB または ReplyFormData オブジェクトに制限されています。

戻り値

void

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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.");
  }
});

getEntities()

警告

この API は非推奨になりました。

Use regular expression rules instead.

選択したアイテムの本文にあるエンティティを取得します。

警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。

getEntities(): Entities;

戻り値

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる Outlook モード: 予定出席者

getEntitiesByType(entityType)

警告

この API は非推奨になりました。

Use regular expression rules instead.

選択したアイテムの本文内で検出された指定のエンティティ型のすべてのエンティティを含む配列を取得します。

警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。

getEntitiesByType(entityType: MailboxEnums.EntityType | string): Array<string | Contact | MeetingSuggestion | PhoneNumber | TaskSuggestion>;

パラメーター

entityType

Office.MailboxEnums.EntityType | string

EntityType列挙値の 1 つ。

戻り値

entityTypeで渡された値がEntityType列挙体の有効なメンバーでない場合、メソッドはnullを返します。 指定した型のエンティティがアイテムの本文に存在しない場合、メソッドは空の配列を返します。 それ以外の場合は、返される配列内のオブジェクトの型は、entityType パラメーター内の要求されたエンティティの型によって異なります。

注釈

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

最小アクセス許可レベル: 制限あり

適用できる Outlook モード: メッセージの読み取り

getFilteredEntitiesByName(name)

警告

この API は非推奨になりました。

Use regular expression rules instead.

アドインのみのマニフェスト ファイルで定義されている名前付きフィルターを渡す、選択した項目の既知のエンティティを返します。

警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。

getFilteredEntitiesByName(name: string): Array<string | Contact | MeetingSuggestion | PhoneNumber | TaskSuggestion>;

パラメーター

name

string

一致するフィルターを定義する ItemHasKnownEntity ルール要素の名前。

戻り値

アドイン マニフェスト ファイルの ItemHasKnownEntity ルール要素で定義されている正規表現と、指定した FilterName 要素の値と一致するエンティティ。 name パラメーターと一致するFilterName要素値を持つItemHasKnownEntity要素がマニフェストに存在しない場合、メソッドはnullを返します。 name パラメーターがマニフェスト内のItemHasKnownEntity要素と一致するが、現在のアイテムに一致するエンティティがない場合、メソッドは空の配列を返します。

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる Outlook モード: 予定出席者

getRegExMatches()

アドインのみのマニフェスト ファイルで定義されている正規表現に一致する、選択した項目の文字列値を返します。

getRegExMatches(): any;

戻り値

any

アドイン マニフェスト ファイルで定義されている正規表現に一致する文字列の配列を格納するオブジェクト。 各配列の名前は、一致する ItemHasRegularExpressionMatch ルールの RegExName 属性の対応する値と等しくなります。 ItemHasRegularExpressionMatchルールの場合、一致する文字列は、そのルールによって指定された項目のプロパティで発生する必要があります。 単純型は、サポートされるプロパティを定義します。

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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 要素値を含む配列。

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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()

警告

この API は非推奨になりました。

Use regular expression rules instead.

強調表示された一致内で見つかったユーザーが選択しているエンティティを取得します。 強調表示された一致は、コンテキスト アドインに適用されます。

警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。

getSelectedEntities(): Entities;

戻り値

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる Outlook モード: メッセージの読み取り

getSelectedRegExMatches()

アドインのみのマニフェスト ファイルで定義されている正規表現と一致する強調表示された一致の文字列値を返します。 強調表示された一致は、コンテキスト アドインに適用されます。

getSelectedRegExMatches(): any;

戻り値

any

アドイン マニフェスト ファイルで定義されている正規表現に一致する文字列の配列を格納するオブジェクト。 各配列の名前は、一致するItemHasRegularExpressionMatch規則のRegExName属性の対応する値と等しくなります。 ItemHasRegularExpressionMatchルールの場合、一致する文字列は、そのルールによって指定された項目のプロパティで発生する必要があります。 単純型は、サポートされるプロパティを定義します。

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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.");
}

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

注釈

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

カスタム プロパティの詳細については、「 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

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる 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

注釈

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

最小アクセス許可レベル: 読み取り項目

適用できる Outlook モード: メッセージの読み取り