解決したいこと

スプレッドシートはブック内に、いくつもシートを作成することができます。

しかしスプレッドシートを検索する、ような機能がありません。

そこで、スプレッドシートの検索機能を追加します。

完成図

起動するとこのようにサイドバーが出現し、サイドバーから検索でき、クリックするとシートを移動できます。

仕様

  • メニューバーに新規メニュー「シート検索バーを開く」を追加
  • メニューから「シート検索バーを開く」を選択すると、起動
  • 起動すると、シート検索用のサイドバーを立ち上げ
  • サイドバー上で目的のシートを検索
  • シート名をクリックすると、そのシートが開く

作成解説

スプレッドシートを開き、以下の場所からGASを起動します。

メニューバーから呼び出せるように登録します。

これを、スプレッドシートの起動時に呼び出すように、トリガー(時計のマーク)に登録します。

権限関係でエラーが起きることがありますので、unsafe、もしくは詳細、などのボタンから、許可を選択します。

また、許可を行わないと、GASでシートにアクセスできませんので、許可ウィンドウが出てきたら、許可をします。

するとこのように、通常のメニューに機能の呼び出しが追加されます。

起動スクリプトを記述

ここではSpreadSheetの全てのシート名を取得し、Sidebar起動関数に渡します。

サイドバー起動を記述

ここで、siderbar.htmlを呼び出し、そこにシート名のリストを渡しています。

サイドバーの中身を記述

サイドバーの中身は、シートのリストからインクリメンタル検索し、結果を表示するものです。

表示された結果のリンクをクリックすると、moveToSheet関数を呼びます。

シート移動のための関数を記述

シート移動のための、moveToSheet関数を記述します。

全コード

二つのファイルのコード全文を記述します。

最終更新: 2024年4月7日