ドキュメントで作業ウィンドウを自動的に開く
Office アドインのアドイン コマンドを使用すると、Office アプリ リボンにボタンを追加することで Office UI を拡張できます。 ユーザーがコマンド ボタンをクリックすると、アクション (作業ウィンドウを開くなど) が実行されます。
いくつかのシナリオでは、ドキュメントを開いたときに、ユーザーの明示的な操作なしで、自動的に作業ウィンドウを開くことが必要になります。 AddInCommands 1.1 要件セットで導入された自動開き作業ウィンドウ機能を使用すると、シナリオで必要なときに作業ウィンドウを自動的に開くことができます。
注:
アドインがインストールされたときにすぐに開くように作業ウィンドウを構成するが、ドキュメントが後で開かれると必ずしも開かないようにするには、「 アドインのインストール時に作業ウィンドウを自動的に開く」を参照してください。
Autoopen 機能と作業ウィンドウの挿入の相違点
ユーザーがアドイン コマンドを使用しないアドインを起動すると、アドインがドキュメントに挿入され、そのドキュメントに保持されます。 その結果、他のユーザーがドキュメントを開くと、アドインのインストールを求めるメッセージが表示され、作業ウィンドウが開きます。 このモデルの課題は、多くの場合、ユーザーがドキュメントにアドインを保持することを望まないということです。 たとえば、Word ドキュメントで辞書アドインを使用する学生は、そのドキュメントを同級生や教師が開いたときに、アドインのインストールを求めるダイアログが表示されることを望まない場合もあります。
Autoopen 機能では、特定のドキュメントに特定の作業ウィンドウ アドインを永続化させるかどうかをユーザーが明示的に定義できます。
サポートと可用性
自動オープン機能は現在、次の製品とプラットフォームでサポートされています。
製品 | プラットフォーム |
---|---|
|
サポートされているすべての製品でサポートされているプラットフォーム:
|
ベスト プラクティス
自動オープン機能を使用する場合は、次のベスト プラクティスを適用します。
Autoopen 機能は、アドイン ユーザーの作業効率の向上に役立つ場合に使用します。たとえば、次の場合に使用します。
- 適切に機能するには、ドキュメントにアドインが必要になる場合。 たとえば、アドインで最新の情報に定期的に更新される在庫の値が含まれているスプレッドシート。 最新の値が維持されるように、アドインはスプレッドシートが開かれたときに自動的に開かれる必要があります。
- 特定のドキュメントでユーザーが常にアドインを使用する可能性が高い場合。 たとえば、バックエンド システムから情報を取得して、ドキュメントのデータを設定または変更することでユーザーを支援するアドイン。
Autoopen 機能はユーザーがオン/オフできるようにします。 アドインの作業ウィンドウが自動的に起動されないようにするオプションをユーザーの UI に含めます。
要件セットの検出を使用して、自動オープン機能が使用可能かどうかを判断し、そうでない場合はフォールバック動作を提供します。
アドインの使用率を人為的に増やすために、Autoopen 機能を使用しないでください。 アドインが特定のドキュメントで自動的に開くのが意味がない場合、この機能はユーザーを困らせる可能性があります。
注:
Microsoft では、Autoopen 機能の乱用を見つけた場合は、そのアドインを AppSource から排除することがあります。
この機能は、複数の作業ウィンドウを固定するために使用しないでください。 1 つのドキュメントで自動的に開くアドインのウィンドウは 1 つのみ設定できます。
自動開く機能を実装する
- 自動的に開く作業ウィンドウを指定します。
- 作業ウィンドウを自動的に開くドキュメントにタグ設定します。
重要
自動的に開くよう指定したウィンドウは、アドインがユーザーのデバイスに既にインストールされている場合にのみ開きます。 ユーザーがドキュメントを開くときにアドインをインストールしていない場合、自動開く機能は機能せず、設定は無視されます。 ドキュメントと共にアドインを配布する必要がある場合は、visibility プロパティを 1 に設定する必要があります。これは OpenXML を使用してのみ実行できます。例については、この記事の後半で説明します。
手順 1: 開く作業ウィンドウを指定する
自動的に開く作業ウィンドウを指定するには、TaskpaneId の値を Office.AutoShowTaskpaneWithDocument に設定します。 この値は 1 つの作業ウィンドウにのみ設定できます。 この値を複数の作業ウィンドウに設定すると、最初に見つかった値が認識され、その他は無視されます。
次の例では、Office.AutoShowTaskpaneWithDocument に設定された TaskPaneId の値を示しています。
<Action xsi:type="ShowTaskpane">
<TaskpaneId>Office.AutoShowTaskpaneWithDocument</TaskpaneId>
<SourceLocation resid="Contoso.Taskpane.Url" />
</Action>
手順 2:作業ウィンドウを自動的に開くよう、ドキュメントにタグを設定する
Autoopen 機能をトリガーするよう、2 つのうちどちらかの方法でドキュメントにタグを設定できます。 シナリオに最も適した方法を選択します。
クライアント側でドキュメントにタグを設定する
次の例に示すように、Office.js settings.set メソッドを使用して Office.AutoShowTaskpaneWithDocument を true
に設定します。
Office.context.document.settings.set("Office.AutoShowTaskpaneWithDocument", true);
Office.context.document.settings.saveAsync();
このメソッドは、アドインの対話式操作の一環としてドキュメントにタグを設定する必要がある場合に使用します (たとえば、ユーザーがバインディングを作成した直後に、または自動的にウィンドウを開くことを示すオプションを選択した直後に使用します)。
Open XML を使用してドキュメントにタグを設定する
Open XML を使用すると、Autoopen 機能をトリガーするために、ドキュメントを作成または変更して、適切な Open Office XML マークアップを追加できます。 この方法を示すサンプルについては、「Office-OOXML-EmbedAddin」を参照してください。
ドキュメントに 2 つの Open XML パーツを追加します。
-
webextension
パート -
taskpane
パート
次の例は、webextension
パートを追加する方法を示しています。
<we:webextension xmlns:we="http://schemas.microsoft.com/office/webextensions/webextension/2010/11" id="[ADD-IN ID PER MANIFEST]">
<we:reference id="[GUID or AppSource asset ID]" version="[your add-in version]" store="[Pointer to store or catalog]" storeType="[Store or catalog type]"/>
<we:alternateReferences/>
<we:properties>
<we:property name="Office.AutoShowTaskpaneWithDocument" value="true"/>
</we:properties>
<we:bindings/>
<we:snapshot xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"/>
</we:webextension>
webextension
パートには、プロパティ バッグと Office.AutoShowTaskpaneWithDocument という名前のプロパティが含まれています。このプロパティは、true
に設定する必要があります。
また、webextension
パートには、属性が id
、storeType
、store
、および version
のストアまたはカタログへの参照も含まれています。 Autoopen 機能に関連する storeType
の値は、4 つのみです。 その他の 3 つの属性の値は、次の表に示すように、storeType
の値に応じて決まります。
storeType 値 |
id 値 |
store 値 |
version 値 |
---|---|---|---|
OMEX (AppSource) | アドインの AppSource アセット ID (「注」を参照)。 | AppSource のロケール (たとえば、"en-us")。 | AppSource カタログのバージョン (注を参照)。 |
WOPICatalog (パートナー WOPI ホスト) | アドインの AppSource アセット ID (「注」を参照)。 | "wopicatalog" この値は、アプリ ソースで発行され、WOPI ホストにインストールされているアドインに使用します。 詳細については、「 Office Online との統合」を参照してください。 | アドイン マニフェストでのバージョン。 |
FileSystem (ネットワーク共有) | アドイン マニフェストでのアドインの GUID。 | ネットワーク共有のパス。たとえば、"\\MyComputer\MySharedFolder" です。 | アドイン マニフェストでのバージョン。 |
EXCatalog (Exchange サーバー経由の展開) | アドイン マニフェストでのアドインの GUID。 | "EXCatalog"。 EXCatalog 行は、Microsoft 365 管理センターで一元展開を使用するアドインで使用する行です。 | アドイン マニフェストでのバージョン。 |
Registry (システム レジストリ) | アドイン マニフェストでのアドインの GUID。 | "developer" | アドイン マニフェストでのバージョン。 |
注:
AppSource でのアドインのアセット ID とバージョンを確認するには、そのアドインの AppSource ランディング ページに移動します。 アセット ID は、ブラウザーのアドレス バーに表示されます。 バージョンは、そのページの [詳細] セクションに示されます。
webextension マークアップの詳細については、「[MS-OWEXML] 2.2.5.WebExtensionReference」を参照してください。
次の例は、taskpane
パートを追加する方法を示しています。
<wetp:taskpane dockstate="right" visibility="0" width="350" row="4" xmlns:wetp="http://schemas.microsoft.com/office/webextensions/taskpanes/2010/11">
<wetp:webextensionref xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1" />
</wetp:taskpane>
この例では、visibility
属性が "0" に設定されている点に注目してください。 これは、webextension パートと taskpane
パートの追加後に、初めてドキュメントを開いたときに、ユーザーはリボンの [アドイン] ボタンからアドインをインストールする必要があることを意味します。 それ以降は、ファイルを開いたときに、アドイン作業ウィンドが自動的に開きます。 また、visibility
を "0" に設定すると、ユーザーが Autoopen 機能をオン/オフできるようにするために Office.js を使用できるようにもなります。 具体的には、スクリプトでドキュメント設定の Office.AutoShowTaskpaneWithDocument を true
または false
に設定します (詳細については、「クライアント側でドキュメントにタグを設定する」を参照してください)。
visibility
が "1" に設定されていると、初めてドキュメントを開いたときに、自動的に作業ウィンドウが開きます。 アドインを信頼するように求めるダイアログがユーザーに表示され、信頼が付与されるとアドインが開きます。 それ以降は、ファイルを開いたときに、アドイン作業ウィンドが自動的に開きます。 ただし、visibility
を "1" に設定すると、ユーザーが Autoopen 機能をオン/オフできるようにするために Office.js を使用することができなくなります。
アドインとドキュメントのテンプレートまたはコンテンツが緊密に統合されていて、ユーザーが Autoopen 機能をオフにすることない場合は、visibility
を "1" に設定することが適切な選択になります。
注:
ドキュメントとともにアドインを配布する場合は、ユーザーにアドインをインストールするように求めるために、visibility プロパティを 1 に設定する必要があります。 これは、Open XML でのみ実行できます。
XML を記述する簡単な方法は、まずアドインを実行し、 クライアント側でドキュメントにタグを 付けて値を書き込み、ドキュメントを保存して生成された XML を検査することです。Office は、適切な属性値を検出して提供します。 Open XML SDK Productivity Tool を使用して C# コードを生成し、生成した XML に基づいてマークアップをプログラムで追加することもできます。
作業ウィンドウ表示のテストと検証
アドインのテスト バージョンをデプロイすると、Microsoft 365 管理センター経由で集中配置を使用して作業ウィンドウが自動的に開きます。 次の例では、EXCatalog のストア版を使用して一元展開カタログからアドインを挿入する方法を示します。
<we:webextension xmlns:we="http://schemas.microsoft.com/office/webextensions/webextension/2010/11" id="{52811C31-4593-43B8-A697-EB873422D156}">
<we:reference id="af8fa5ba-4010-4bcc-9e03-a91ddadf6dd3" version="1.0.0.0" store="EXCatalog" storeType="EXCatalog"/>
<we:alternateReferences/>
<we:properties/>
<we:bindings/>
<we:snapshot xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"/>
</we:webextension>
前の例をテストするには、Microsoft 365 サブスクリプションを使用して一元展開を試し、アドインが期待どおりに動作することを確認します。 まだ Microsoft 365 サブスクリプションをお持ちでない場合は、Microsoft 365 開発者プログラムを通じてMicrosoft 365 E5開発者サブスクリプションを受ける資格があります。詳細については、FAQ を参照してください。 または、 1 か月間の無料試用版にサインアップ するか、 Microsoft 365 プランを購入することもできます。
関連項目
- 自動開く機能の使用方法を示すサンプルについては、「 ドキュメントで作業ウィンドウを自動開く」を参照してください。
- アドインのインストール時に作業ウィンドウを自動的に開く
- Microsoft 365 開発者プログラムについて
Office Add-ins