Google Apps Script入門シリーズも3回目!
今回は、サンプルを元にGoogle Apps Scriptの考え方を理解していきましょう!
前2回もぜひご覧になってくださいね!
よろしくお願いいたします!
今回は、「スプレッドシートのA1セルの背景色を、Google Apps Scriptを使って赤くする」というのを考えてみましょう!
目次
Google Apps Scriptの大事な考え方
jQueryやJavaScriptとも共通しているところですが、Google Apps Scriptを使う上での、重要な考え方があります。
- 命令したい場所(どこに命令したいの?)を指定して
- 命令したい内容(どんな命令をしたいの?)を命令する
という順番を踏まえてプログラムを書くということです。
例えば、先ほど掲載した「スプレッドシートのA1セルの背景色を、Google Apps Scriptを使って赤くする」の場合
- 命令したい場所→スプレッドシートのA1セル
- 命令したい内容→セルの背景色を赤くしてちょーだい!
と言い換えることができますよね!
あとは、場所→内容の順番通りに命令を書いていけばいいだけなんです!
Google Apps Scriptにおける「命令したい場所」の指定方法
では、まずGoogle Apps Scriptにおける「命令したい場所」のプログラムの書き方をみていきましょう!
今回であれば、「スプレッドシートのA1セル」になります。
前2回からの流れで、スプレッドシートを立ち上げた上で、そのスプレッドシートに紐付ける形で、Google Apps Scriptファイルを作成しました。
この時、Google Apps Scriptが紐付いているファイルのA1セルに対して命令をしたいのであれば、以下のように書くことができます。
- Googleアプリケーションのなかのどれに命令するの?? → SpreadsheetApp
- どのスプレッドシートに命令するの??
(今紐付いているファイルであればgetActiveSpreadSheet()) - スプレッドシートの中のどのシート(タブ)に命令するの?? → 今開いているタブであれば、getActiveSheet()、シート名で指定するのであれば、getActiveSheet()
- A1セルを指定するときは、getRange(“A1”)
となります。
Google Apps Scriptにおける「命令したい内容」の記述方法
ここまできたら、プログラムによる「命令したい内容」を記述するだけです!
今回の事例でいうと「セルの背景色を赤くしてください!」というものが命令内容になりますが、Google Apps Scriptでは以下のように表現します。
- セルの色を赤くする → setBackground(“red”)
結構あっさりしたものですよね!
あとはプログラムをつなげて書くだけ!
最終的にまとめると、以下のようになります!
var mysh =SpreadsheetApp.getActiveSpreadsheet();//今紐付いているスプレッドシートを指定
var AcSheet = mysh.getActiveSheet();//今選択されているタブを指定
var ranges = AcSheet.getRange(“A1”);//今選択されているタブのA1セルを指定
ranges.setBackground(”red”);//セルの色を赤くしてくれ!と命令
あとから何度も使い回す記述は、一旦「変数」というものにまとめて、その変数の名前を書くことで、記述を省略することができるので、便利ですよ!
(今回でいうとvar myshなどですね!)
まとめ
いかがでしたか??
とにかく、Google Apps Scriptでは「命令する場所の指定が大事なんだよ」ということがお分かりいただければ幸いです!」
今後もGoogle Apps Scriptの関連記事をアップしていきますが、今まで紹介した事例も含めて、命令場所の指定方法さえつかめてしまえばそんなに難しくはないので、ぜひコツをつかんでみてくださいね!