Google Apps Script (GAS) でこのセル範囲のセルのフィルター設定を取得したり、フィルターを設定する方法を説明します。
Rangeクラスのメソッドを利用した手順について説明します。
Google Apps Scriptの基本的な使い方については下記をご覧ください。
GASによるスプレッドシート操作の概要
GASでスプレッドシートを操作するための「SpreadSheetサービス」は、主に下記のクラスで構成されています。
クラス | 説明 |
---|---|
SpreadSheetApp | SpreadSheetサービスの親クラス |
Spreadsheet | スプレッドシートを操作するクラス |
Sheet | シートを操作するクラス |
Range | セル範囲を操作するクラス |
それぞれ下記のような位置付けになります。
「SpreadSheetApp」→「SpreadSheet」→「Sheet」→「Range」という順の階層構造になっています。操作対象に応じて、下の階層にたどってオブジェクトを取得して利用します。
このページでは、上記の中のRangeクラスの下記のメソッドについて説明します。
メソッド | 戻り値 | 説明 |
---|---|---|
getFilter() | Filter | このセル範囲のフィルター設定を取得する |
createFilter() | Filter | このセル範囲にフィルターを設定する |
このセル範囲のフィルター設定を取得する
このセル範囲のフィルター設定を取得するメソッドを説明します。
このセル範囲のフィルター設定を取得する:getFilter()
このセル範囲のフィルター設定を取得する方法です。
Filterクラスで返します。
下記のように実行します。取得したFilterクラスのgetRangeメソッドでセル範囲を表示し、正しく取得できているか確認するコードです。
1 2 3 4 5 6 7 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("A1:E5"); const testFilter = testRange.getFilter(); console.log(testFilter.getRange().getA1Notation()); } |
下記のファイルで実行してみます。
下記のような実行結果になります。Filterクラスで取得でき、正しく動作していることがわかります。
1 |
A1:E5 |
このセル範囲にフィルターを設定する
このセル範囲にフィルターを設定するメソッドを説明します。
このセル範囲にフィルターを設定する:createFilter()
このセル範囲にフィルターを設定する方法です。
下記のように実行します。
1 2 3 4 5 6 |
function myFunction() { const testSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); const testSheet = testSpreadSheet.getSheetByName("シート1"); const testRange = testSheet.getRange("A1:E5"); testRange.createFilter(); } |
下記のファイルで実行してみます。
下記のような実行結果になります。指定したセル範囲にフィルターを設定できます。
まとめ
Google Apps Script (GAS) でこのセル範囲のセルのフィルター設定を取得したり、フィルターを設定する方法を説明しました。
GASは無料で利用できてとても便利なツールです。
Googleスプレッドシート等のGoogleアプリケーションを利用されている方は、GASを習得することで作業を大きく効率化できます。
GASの基本構文を知りたい方は、下記もご覧ください。