実現したいこと
既にフィルターがかかっている → フィルターを外す
フィルターがかかっていない → フィルターをかける
という処理をしたいです。
発生している問題・エラーメッセージ
写真のように、フィルターがかかっている場合も、フィルターが無いと判定されています。すなわち、下のコードにて必ず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 コメント