Outlook にピン留め可能な作業ウィンドウを実装する

アドイン コマンドの [ 作業ウィンドウ UX ] 図形により、開いているメッセージまたは会議出席依頼の右側に縦方向の作業ウィンドウが開きます。 これによりアドインは、複数のテキスト フィールドへの入力など、より詳細な操作のための UI を提供できます。 この作業ウィンドウは、メッセージの一覧を表示しているときに閲覧ウィンドウに表示できるため、メッセージをすばやく処理できます。

ただし、既定では、ユーザーが閲覧ウィンドウでメッセージ用にアドイン作業ウィンドウを開いていて、新しいメッセージを選択すると、作業ウィンドウは自動的に閉じます。 頻繁に使用されるアドインの場合、ユーザーはそのウィンドウを開いたままにして、メッセージごとにアドインを有効化する手間がなくなることを望むでしょう。 ピン留め可能な作業ウィンドウを使用すると、アドインでユーザーにそのオプションを提供できます。

注:

ピン留め可能な作業ウィンドウ機能は要件 セット 1.5 で導入されましたが、現在は以下を使用している Microsoft 365 サブスクライバーのみが利用できます。

  • モダン Outlook on the web
  • Windows 上の新しい Outlook
  • Windows のクラシック Outlook 2016 以降 (現在または Microsoft 365 Insider チャネルのユーザーにはビルド 7668.2000 以降、段階的提供チャネルのユーザーにはビルド 7900.xxxx 以降)
  • Outlook on Mac (バージョン 16.13 (18050300) 以降)

重要

固定可能なタスク ペインは、次では使用できません。

  • 予定および会議
  • Outlook.com

サポートされている Outlook モード

ピン留め可能な作業ウィンドウは、Outlook の Message Compose モードと Message Read モードの両方でサポートされています。 ただし、ピン留めは異なるモード間ではサポートされません。 これは、アドインには各モードでボタンと作業ウィンドウの異なる UI が含まれる可能性があるためです。 たとえば、ユーザーがメッセージを読んでいるときにアドインの作業ウィンドウをピン留めし、新しいメッセージを作成した場合、作成中のメッセージからアドインの作業ウィンドウは表示されません。 作業ウィンドウを表示するには、ユーザーが作成中のメッセージからアドインをアクティブ化する必要があります。 その後、ユーザーが作業ウィンドウをピン留めすると、そのユーザーが次に別のメッセージを作成するときにも作業ウィンドウはピン留めされたままになります。

作業ウィンドウのピン留めをサポートする

ピン留めのサポートを追加する際の最初の手順は、アドインのマニフェストで実行します。 マークアップは、アドインで使用するマニフェストの種類によって異なります。

注:

Microsoft 365 の統合マニフェストを使用するアドインは、Outlook on Mac ではサポートされていません。 Microsoft はそのサポートを提供できるよう懸命に取り組んでいます。 それまでの間、顧客ベースに Mac のユーザーが含まれる場合は、アドインのみのマニフェストを使用するバージョンのアドインを作成し、両方をサポートする必要があります。 詳細については、「 Microsoft 365 の統合マニフェストを使用したアドインのサポート」を参照してください。

タスク ウィンドウを開くボタンまたはメニュー項目を定義する "actions" 配列内のオブジェクトに、true に設定された "pinnable" プロパティを追加します。 次に例を示します。

"actions": [
    {
        "id": "OpenTaskPane",
        "type": "openPage",
        "view": "TaskPaneView",
        "pinnable": true
    }
]

注:

作業ウィンドウのピン留めは、[閲覧ウィンドウ] を有効または最初にメッセージを選択しないかなしでアクティブ化されるアドインで自動的にサポートされます。 詳細については、「 閲覧ウィンドウを有効にしたり、メッセージを選択せずに Outlook アドインをアクティブ化する」を参照してください。

現在選択されているメッセージに基づいた UI の更新を処理する

現在のアイテムに基づいて作業ウィンドウの UI または内部変数を更新するには、変更の通知を受け取るイベント ハンドラの登録が必要になります。

イベント ハンドラを実装する

イベント ハンドラは、オブジェクト リテラルの単一パラメーターを受け入れる必要があります。 このオブジェクトの type プロパティは、Office.EventType.ItemChanged に設定されます。 イベントが呼び出されたときには、既に、Office.context.mailbox.item オブジェクトは現在選択されているアイテムを反映するように更新されています。

function itemChanged(eventArgs) {
  // Update UI based on the new current item.
  updateTaskPaneUI(Office.context.mailbox.item);
}

重要

ItemChanged イベントのイベント ハンドラーの実装は、Office.content.mailbox.item が null かどうかチェックする必要があります。

// Example implementation.
function updateTaskPaneUI(item) {
  // Assuming that item is always a read item (instead of a compose item).
  if (item != null) console.log(item.subject);
}

イベント ハンドラーを登録する

Office.context.mailbox.addHandlerAsync メソッドを使用して、Office.EventType.ItemChanged イベント用のイベント ハンドラを登録します。 この操作は、作業ウィンドウの Office.onReady 機能で実行する必要があります。

Office.onReady(() => {
  $(document).ready(() => {
    // Set up the ItemChanged event.
    Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, itemChanged);
    updateTaskPaneUI(Office.context.mailbox.item);
  });
});

複数選択での作業ウィンドウのピン留め

複数のメール アイテムを選択して複数選択アドインの作業ウィンドウを起動したとき、作業ウィンドウのピン留め動作は Outlook クライアントによって異なります。

  • Mac: ユーザーが別のメール アイテムに切り替えても、作業ウィンドウは開いたままです。 作業ウィンドウを閉じるには、作業ウィンドウの [閉じる ] ボタンを選びます。
  • Windows (新規およびクラシック) と Web: ユーザーが新しい項目に切り替えても、作業ウィンドウが開いたままになりません。 作業ウィンドウを開いたままにしておくには、作業ウィンドウの ピン アイコンを選択します。

ユーザーに展開する

Outlook アドインを Microsoft Marketplace公開する予定があり、ピン留め可能な作業ウィンドウで構成されている場合、ピン留めされたアドインのコンテンツは静的であってはなりません。 つまり、ピン留めされたコンテンツは、メールボックスで現在開いている、または選択されているメッセージまたは予定に応じて変更する必要があります。 これにより、アドインが Microsoft Marketplace の検証に合格することが保証されます。

関連項目