見出し画像

GASっぽくなってきました GAS

気づいたらテキストはもうすぐ半分。

こんにちは。サキナオコです!^^
今日少し晴れましたがまた曇ってきました。

いつもご覧いただき、スキ、フォロー、コメント、サポート、オススメまでも本当にほんとうにどうもありがとうございます!!*^o^*
今日もまた投稿の元気いただきました!!^o^/

苦しかった7章を乗り越え、今日はスプレッドシートの章に入ります!
ようやくGASっぽい感じになってきて、モチベーションも上がってきました。

階層構造は
SpreadsheetApp - Spreadsheet - Sheet - Range
となっており、各クラスにはそのオブジェクトを操作するメンバーと共にその配下のオブジェクトを取得するメンバーが用意されている。

なるほど。

GASのクラスに対してnew演算子でインスタンスを生成することはない。
すでに存在しているオブジェクトを取得するか新たなオブジェクトを生成するメソッドがある。

インスタンスってなんだっけ、あ、クラスを元にして生成したオブジェクトのことですね。

オブジェクトを操作するには
1.SpreadsheetAppから配下のオブジェクトを辿っていき、目的のオブジェクトを取得
2.対応するクラスのメンバーを使って目的のオブジェクトを操作

ふむ。目的のオブジェクトまでたどるのですね。そしてそれぞれにメンバーがあるのですね。

SpreadsheetApp クラスがトップレベルオブジェクト。
スプレッドシートを操作するために取得する方法は
*アクティブなスプレッドシート(スクリプトにバインドされているスプレッドシート)を取得
*IDで取得
*URLで取得

コンテナバインドスクリプト()であれば
SpreadsheetApp.getActiveSpreadsheet()
が使える。

コンテナバインドスクリプトはこちら↓親と同居の子供。

バインドされていないスプレッドシート取得には
*openByIdメソッド*openByUrlメソッドを使う

GASは実行時間への厳しい制限があるためGoogleアプリへアクセスするメソッドの実行回数はできる限り減らすのが望ましいようです…そんな器用なことがそのうちできるようになるといいです。

アクティブなシートを取得する(コンテナバインドスクリプト。親と同居の…もういいですね)
SpreadsheetApp.getActiveSheet()
シートが単体、あるいはブラウザでシートを開いているときのみに使用。

と一気に詰め込み、写経しましたが…
やはりこれ、何か実際にやってみないといまいちピンとこないものですね。

まあ、とにかく進めます。今日は終了!

この記事が気に入ったらサポートをしてみませんか?