GASでスプレの非表示シートを再表示する方法(showSheetメソッド)
Google Apps Script(GAS)でスプレッドシートで非表示になっているシートを再表示する方法を解説します。
シート再表示させるshowSheetメソッドの使い方や利用シーンを紹介します。
GASで非表示シートを再表示したい
スプレッドシートのシートは表示・非表示の設定が可能です。
普段利用していないシートは非表示にすることでユーザーによるセル削除や値変更などのリスクを防止できます。
Google Apps Script(GAS)でスプレッドシートの操作自動化を行う際も、シートの再表示ができると便利です。
実はGASのスクリプトからシートの表示・非表示の制御が可能となっています。
シート再表示させるshowSheetメソッド
Google Apps Script(GAS)でスプレッドシートで非表示のシートを再表示するためにshowSheetメソッドが用意されています。
sheet.showSheet()
showSheetメソッドは再表示したい非表示のシートオブジェクトに対して、実行すると、スプレッドシート上で非表示だったシートが表示されるようになります。
非表示シートを再表示するGASサンプルコード
実際にスプレッドシートの非表示シートを再表示するGoogle Apps Script(GAS)のコードを紹介します。
スプレッドシートから「拡張機能>Apps Script」を開いて作成したコンテナバインドスクリプトで以下のコードを用意します。
function myFunction() {
//スクリプトに紐づくアクティブなスプレッドシートを取得
const ss = SpreadsheetApp.getActiveSpreadsheet();
//GUI上で非表示になっているシートを取得
const sheet = ss.getSheetByName('非表示のシート名を指定');
//showメソッドで非表示のシートを再表示
sheet.showSheet();
}
事前に用意したスプレッドシートにはシート1、シート2があります。
ただ、シート2は非表示を設定しているため、スプレッドシート画面上は表示されていません。
この状態でさきほどのshowSheetメソッドでシートを再表示するスクリプトを実行してみます。
スプレッドシートの画面に戻ると、非表示で表示されていなかったシート2が表示されました。
このようにsheet.showSheet()メソッドを実行することで当該シートを再表示することが可能です。
表示済みシートでshowSheetメソッド実行はどうなる?
さきほどは非表示になっているシートオブジェクトに対してshowSheetメソッドを実行して再表示しました。
では表示済みのシートでshowSheetメソッドを実行するとどうなるでしょうか?
結論から言えば、表示されているシートでshowSheetメソッドを実行しても変化はありません。
showSheetメソッドを実行したシートが非表示だった場合のみ、処理が実行されて再表示されるようになります。
非表示シートをコピーした際に利用
非表示になっているシートを再表示するshowSheetメソッドの利用ケースは、主に非表示シートをコピーした際に利用します。
毎月ごとレポートや売上のシートを作成する場合に、テンプレートから生成するのが便利です。
ただ、テンプレートシートを表示していると、共有しているユーザーに誤って編集されるおそれがあります。
誤操作を減らす対策として非表示にしておくと、ミスで削除や書き換えられる可能性が減少します。
ただGoogle Apps Script(GAS)では非表示にしているテンプレートシートをコピーしてシートを生成すると、生成したシートも非表示状態です。
そこで、showSheetメソッドを使うことで、非表示のテンプレートシートから定例シートを表示することができます。
逆にシート非表示にしたい場合は?
Google Apps Script(GAS)で非表示のシートを再表示するのとは反対に、シートを非表示にしたい場合はsheet.hideSheetメソッドを使用します。
スプレッドシートのシートを非表示にするhideSheetメソッドの使い方・サンプルコードは以下の記事で解説しています。
hideSheetメソッドを実行すると、当該シートオブジェクトが非表示になります。
GASではhideSheet/showSheetメソッドを使えば、シートの非表示/再表示が簡単に変更可能です。
まとめ・終わりに
今回、スプレッドシートで非表示のシートをGoogle Apps Script(GAS)で再表示するshowSheetメソッドの使い方を紹介しました。
非表示になっているシートオブジェクトに対してshowSheetメソッドを実行することで表示されることが可能です。
非表示のシートをテンプレートとしてGASでコピーした際、非表示のままになるので、その時に表示されるようにshowSheetメソッドを活用しましょう。
ディスカッション
コメント一覧
まだ、コメントがありません