gasでスプシのフィルターがかかっているかどうかが判別できない

実現したいこと

既にフィルターがかかっている → フィルターを外す
フィルターがかかっていない → フィルターをかける

という処理をしたいです。

発生している問題・エラーメッセージ

イメージ説明

写真のように、フィルターがかかっている場合も、フィルターが無いと判定されています。すなわち、下のコードにて必ずfilter == null となってます。
なお、フィルターをかけることは、できました。

該当のソースコード

javascriptでは無いが、シンタックスハイライトのため、文頭でjavascriptと書いてます。

var ss,sht,filterSet,columnIndex,request ss = SpreadsheetApp.getActiveSpreadsheet(); sht = ss.getSheetByName("シート1");//対象のシートを変数へ格納 filterSet = {};//FilterSet /*フィルターをかけるシートのSheetIdを取得*/ filterSet.range = { sheetId:sht.getSheetId() }; var filter = sht.getFilter(); // sht.getFilter().remove();if( filter == null ){ } else { sht.getFilter().remove(); //フィルタをオフにする}

試したこと

上のコードにて、コメントアウトしてる sht.getFilter().removeを外してあげると、以下のエラーが出ますが、フィルター解除はできました。

TypeError: Cannot read property 'remove' of null

また、公式ドキュメントも見てみましたが、当方では何が間違っているのかわかりませんでした…
お忙しいところ恐れ入りますが、何卒よろしくお願いします。

コメントを投稿

0 コメント