はじめに
必要な項目は、多くの場合 SharePoint のリストやドキュメント ライブラリの標準ビューで見つかります。そのうえで、まさにそれらの項目を、グループ化、集計、列のカスタム セット、Excel へのエクスポートが可能な、より高機能なビューで引き続き扱いたい場合があります。Open in List Filter コマンドは、この 2 つをつなぎます。これは標準のリストまたはライブラリのコマンド バーにあるコマンドで、List Filter Online Web パーツがあるページを開き、標準ビューで選択した項目のみを表示します。
このコマンドは、Web パーツと同じパッケージに含まれています。SharePoint Framework のリスト コマンド セットであり、有効にすると、SharePoint Online テナントの任意のモダン リストまたはライブラリで動作します。この記事では、コマンドの動作、テナント全体で有効にする方法、特定のリストやサイトに限定する方法、想定どおりに動作しない場合の確認事項について説明します。

動作の仕組み
Open in List Filter をクリックすると、コマンドは選択された項目の ID を読み取り、構成されたページを新しいブラウザー タブで開きます。ID はページ アドレスのクエリ文字列パラメーター lff で渡されます。これは Web パーツの Copy Link to Filter で使用されるものと同じパラメーターで、ID In (選択された ID) という 1 つの条件として渡されます。この条件は、ページ上のすべての List Filter Online Web パーツ (インスタンス識別子 *) を対象としているため、対象ページにどの Web パーツのインスタンスがあるかを知っておく必要はありません。
対象ページでは、Web パーツがパラメーターを読み取り、条件をユーザー フィルターとして適用して、一致する項目を読み込みます。条件は、フィルター パネルで選択したフィルターと同様に、結果の上にフィルター チップとして表示され、チップまたは Clear all the filters で削除できます。フィルターの適用後、パラメーターはアドレス バーから削除されるため、そのタブを後で更新しても選択内容が再適用されることはありません。
何も選択されていない場合も、コマンドは表示され、フィルターなしでページを開きます。その場合、Web パーツは通常どおり表示される項目を表示します。
📝 注
コマンドが渡すのは項目の ID であり、項目そのものではありません。そのため、対象ページには、コマンドをクリックしたリストと同じリストが表示されている必要があります。後述の重要を参照してください。
前提条件
コマンドを有効にする前に、次の点を確認してください。
- List Filter Online パッケージが、テナントのアプリ カタログに展開されていること。KB10251. List Filter Online のインストールとページへの追加方法を参照してください。
- コマンドを使用するリストまたはライブラリをデータ ソースとして指す、構成済みの List Filter Online Web パーツがあるページが存在すること。
- アプリ カタログ サイトの管理者アクセス権があること。コマンドは、そのサイトの Tenant Wide Extensions(テナント全体の拡張機能)リストで有効にするためです。
パッケージは Make this solution available to all sites in the organization(このソリューションを組織内のすべてのサイトで使用できるようにする)を有効にして展開されるため、個々のサイトでのアクティブ化は不要です。ただし、コマンド自体は、次に説明する構成を行うまで非表示のままです。
テナント全体でのコマンドの有効化
アプリ カタログ サイトを開き、Tenant Wide Extensions リストに移動します (サイトの内容 → Tenant Wide Extensions)。パッケージをアップロードすると、このリストにコマンド セットのエントリが追加されます。このエントリは Vitextra List Filter ソリューションに属し、コンポーネント識別子 7f0e4b0e-3c85-4c65-a441-9a86f6b2d9c1 を持っています。複数の Vitextra 拡張機能が一覧表示されている場合は、この識別子で見つけることができます。
エントリを編集し、2 つのフィールドを設定します。
Component Properties — List Filter Online Web パーツをホストするページを指す
pageUrlプロパティを持つ JSON オブジェクトです。絶対 URL とサーバー相対 URL のどちらも使用できます。{"pageUrl": "/sites/Projects/SitePages/Project-Filter.aspx"}サーバー相対 URL は、リストを開いているテナント ホストに対して解決されます。
Disabled — エントリが無効になっていないことを確認します。無効の場合、SharePoint はコマンド セットをまったく読み込みません。
エントリを保存します。コマンドは、リスト ビューの読み込み時に pageUrl プロパティを読み取り、プロパティに値がある場合にのみ表示されます。pageUrl のないエントリでは、拡張機能が有効になっていてもコマンドは非表示のままです。

📝 注
Tenant Wide Extensions リストの変更は、SharePoint に反映されるまでに、数分以上かかることがあります。エントリを保存したら、リスト ページを再読み込みしてください。
特定のリストまたはサイトへのスコープ指定
既定では、テナント全体の拡張機能は、すべてのサイトのすべてのリストとライブラリに適用されます。Tenant Wide Extensions リストには、適用範囲を絞り込むための SharePoint 標準の列が用意されています。コマンド セット自体には、独自のスコープ指定機能はありません。
| 列 | 機能 |
|---|---|
| List Template | コマンドを 1 つのテンプレートのリストに限定します。たとえば、ドキュメント ライブラリは 101、汎用リストは 100 です。 |
| Web Template | コマンドを 1 つのテンプレートから作成されたサイトに限定します。たとえば、チーム サイトは GROUP#0、コミュニケーション サイトは SITEPAGEPUBLISHING#0 です。 |
| Location | コマンドが表示される場所です。エントリの作成時に SharePoint が設定した値のままにしてください。 |
| Sequence | 同じ場所に登録された複数の拡張機能の順序です。 |
異なる対象ページが必要な複数のリストでコマンドを使用できるようにするには、対象ページごとに 1 つずつ、リストに複数のエントリを作成し、それぞれに独自の pageUrl とスコープを設定します。1 つのエントリは、適用されるすべてのリストで同じページを開くため、リスト A の選択内容をページ A に、リスト B の選択内容をページ B に送るには、この方法しかありません。
❗ 重要
Tenant Wide Extensions リストの列は、List Filter Online ではなく SharePoint が提供し、解釈します。使用できる正確な値については、SharePoint Framework 拡張機能のテナント全体の展開に関する Microsoft のドキュメントを参照してください。
コマンドの使用方法
コマンドを有効にすると、次の 3 つの手順で使用できます。
- リストまたはライブラリを標準ビューで開き、行のチェック ボックスを使用するか、行をクリックして、1 つ以上の項目を選択します。
- コマンド バーの Open in List Filter をクリックします。
- 構成されたページが新しいタブで開きます。List Filter Online Web パーツには選択した項目のみが表示され、結果の上に ID 条件のフィルター チップが表示されます。
ここからは、他の List Filter Online ページと同様に作業できます。並べ替え、グループ化、項目の Excel へのエクスポート、項目のバージョン履歴の表示、フィルター パネルによる選択内容のさらなる絞り込みなどです。

重要
❗ 重要
対象ページの Web パーツは、コマンドを使用するリストまたはライブラリと同じものに対して構成する必要があります。コマンドが渡すのは項目の ID のみであり、ID はテナント内ではなくリストごとに一意です。Web パーツが別のリストを指している場合、ID はそのリストの無関係な項目に一致し、エラーが表示されないまま、ページに誤ったレコードが表示されます。
コマンドの設計から、さらに次の 2 点が挙げられます。
- Tenant Wide Extensions の 1 つのエントリは、適用されるすべてのリストで同じページを開きます。コマンドをスコープ指定しないままにすると、テナント内の任意のリストのユーザーがクリックして、そのページに移動できてしまいます。エントリにスコープを指定するか、前述のとおりリストごとに 1 つのエントリを作成してください。
- 対象ページに複数の List Filter Online Web パーツがある場合、リンクは任意のインスタンスを対象としているため、そのすべてが条件を受け取ります。各 Web パーツは、それぞれのリストに条件を適用します。
トラブルシューティング
コマンドがコマンド バーに表示されない。
- Component Properties の
pageUrlプロパティが空であるか、存在しません。プロパティに値がない場合、コマンドは自動的に非表示になります。 - エントリが無効になっているか、現在のリストまたはサイトと一致しないリスト テンプレートまたは Web テンプレートにスコープが指定されています。
- エントリを変更してから、リスト ページを更新していません。ページを再読み込みし、テナント全体の構成が反映されるまでしばらく待ってください。
- パッケージが展開されていないか、すべてのサイトで使用できるようにせずに展開されました。
ページは開くが、項目がフィルター処理されない、または誤った項目が表示される。
- 対象ページの Web パーツが、コマンドをクリックしたリストとは別のリストを表示しています。Web パーツのデータ ソースと元のリストを比較してください。
- 項目が選択されていませんでした。その場合、コマンドはフィルターなしでページを開きます。
pageUrlが、List Filter Online Web パーツのないページを指しています。その場合、パラメーターはページで無視されます。
更新するとフィルターが消える。
- これは想定どおりの動作です。
lffパラメーターは 1 回だけ使用され、アドレス バーから削除されます。この選択内容へのリンクを保持するには、Web パーツの Saved Filters メニューにある Copy Link to Filter を使用してください。
関連記事
💡 ヒント
このコマンドの基盤となっているフィルター リンクと保存済みプリセットについては、KB10253. List Filter Online でのフィルターの保存とフィルター済みビューへのリンクの共有で説明しています。データ ソースやフィルター パネルなど、対象ページでの Web パーツの構成については、KB10201. List Filter Online Web パーツの構成で説明しています。