Google Apps Script (GAS) でスプレッドシートのアクティブなシートの行・列を表示・非表示する方法を説明します。
SpreadSheetクラスのメソッドを利用した手順について説明します。
アクティブなシートではなく、シートを指定したい場合は、下記のSheetクラスのメソッドを利用する方法をご覧ください。
Google Apps Scriptの基本的な使い方については下記をご覧ください。
GASによるスプレッドシート操作の概要
GASでスプレッドシートを操作するための「SpreadSheetサービス」は、主に下記のクラスで構成されています。
クラス | 説明 |
---|---|
SpreadSheetApp | SpreadSheetサービスの親クラス |
Spreadsheet | スプレッドシートを操作するクラス |
Sheet | シートを操作するクラス |
Range | セル範囲を操作するクラス |
それぞれ下記のような位置付けになります。
「SpreadSheetApp」→「SpreadSheet」→「Sheet」→「Range」という順の階層構造になっています。操作対象に応じて、下の階層にたどってオブジェクトを取得して利用します。
このページでは、上記の中のSpreadSheetクラスの下記のメソッドについて説明します。
メソッド | 戻り値 | 説明 |
---|---|---|
hideRow(row) | void | 指定した範囲の行を非表示にする |
unhideRow(row) | void | 指定した範囲の行を表示する |
isRowHiddenByUser(rowPosition) | Boolean | 指定した行が非表示になっているかどうかを返す |
hideColumn(column) | void | 指定した範囲の列を非表示にする |
unhideColumn(column) | void | 指定した範囲の列を表示する |
isColumnHiddenByUser(columnPosition) | Boolean | 指定した列が非表示になっているかどうかを返す |
アクティブなシートの行の表示・非表示を操作する
アクティブなシートの行を表示・非表示を操作するメソッドを説明します。
指定した範囲の行を非表示にする:hideRow(row)
指定した行を非表示にする方法です。
下記のように実行します。
1 2 3 4 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); testSpreadSheet.hideRow(testSpreadSheet.getRange("3:4")); } |
下記のファイルに対して実行すると、
下記の結果になります。指定した3行目・4行目が非表示になります。
アクティブなシートのデータを取得します。
シートを指定したい場合は、SheetクラスのhideRowメソッドを利用します。
指定した範囲の行を表示する:unhideRow(row)
指定した行を表示する方法です。
下記のように実行します。
1 2 3 4 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); testSpreadSheet.unhideRow(testSpreadSheet.getRange("3:3")); } |
下記は、3行目・4行目が非表示になっているファイルです。下記に対して実行すると、
下記の結果になります。指定した3行目が表示されます。
アクティブなシートのデータを取得します。
シートを指定したい場合は、SheetクラスのunhideRowメソッドを利用します。
指定した行が非表示になっているかどうかを返す:isRowHiddenByUser(rowPosition)
指定した行がユーザによって非表示になっているかどうかを返す方法です。
下記のように実行します。
1 2 3 4 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); console.log(testSpreadSheet.isRowHiddenByUser(3)); } |
下記は、3行目・4行目が非表示になっているファイルです。下記に対して実行すると、
下記の結果になります。指定した3行目は非表示のためtrueを返します。
1 |
true |
アクティブなシートのデータを取得します。
シートを指定したい場合は、SheetクラスのisRowHiddenByUserメソッドを利用します。
アクティブなシートの列の表示・非表示を操作する
アクティブなシートの列を表示・非表示を操作するメソッドを説明します。
指定した範囲の列を非表示にする:hideColumn(column)
指定した列を非表示にする方法です。
下記のように実行します。
1 2 3 4 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); testSpreadSheet.hideColumn(testSpreadSheet.getRange("C:C")); } |
下記のファイルに対して実行すると、
下記の結果になります。指定したC列が非表示になります。
アクティブなシートのデータを取得します。
シートを指定したい場合は、SheetクラスのhideColumnメソッドを利用します。
指定した範囲の列を表示する:unhideColumn(column)
指定した列を表示する方法です。
下記のように実行します。
1 2 3 4 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); testSpreadSheet.unhideColumn(testSpreadSheet.getRange("C:C")); } |
下記のファイルに対して実行すると、
下記の結果になります。指定したC列が表示されます。
アクティブなシートのデータを取得します。
シートを指定したい場合は、SheetクラスのunhideColumnメソッドを利用します。
指定した列が非表示になっているかどうかを返す:isColumnHiddenByUser(columnPosition)
指定した列がユーザによって非表示になっているかどうかを返す方法です。
下記のように実行します。
1 2 3 4 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); console.log(testSpreadSheet.isColumnHiddenByUser(3)); } |
下記のファイルに対して実行すると、
下記の結果になります。指定した3列目(C列)は非表示のためtrueを返します。
1 |
true |
アクティブなシートのデータを取得します。
シートを指定したい場合は、SheetクラスのisColumnHiddenByUserメソッドを利用します。
まとめ
Google Apps Script (GAS) でスプレッドシートのアクティブなシートの行・列を表示・非表示する方法を説明しました。
GASは無料で利用できてとても便利なツールです。
Googleスプレッドシート等のGoogleアプリケーションを利用されている方は、GASを習得することで作業を大きく効率化できます。
GASの基本構文を知りたい方は、下記もご覧ください。