【GAS講座】SpreadsheetAppは召喚魔法!?モンスターカードゲームで学ぶGoogle Apps Script
SpreadsheetAppって何かよくわからないんです…。難しい魔法みたい…。

猫男

catman
ふふふ…その悩み、catmanが解決してやろう!GASはまるで“カードバトル”のような世界なんだ!
GASはカードゲームと同じってほんと?
じつは、そうなんです。
まずはカードをドローしましょう。
SpreadsheetApp = モンスター召喚!
SpreadsheetAppは、GASでスプレッドシートを操るための「召喚魔法」。
モンスターカードを場に出すようなイメージです!
const ss = SpreadsheetApp.getActiveSpreadsheet();
これで「スプレッドシートの世界」に強力なモンスターが現れたぞ!
メソッドは「カードの効果」だ!
召喚されたモンスターは、さまざまな効果(メソッド)を発動できる。
getSheets()
→ 場のフィールドを確認するgetRange("A1")
→ 狙いを定めるgetValue()
→ 攻撃力を確認する
const sheet = ss.getSheets()[0];
const atk = sheet.getRange("B2").getValue();
えっ…!セルの数値って攻撃力だったんだ!

猫男

catman
そのとおり!メソッドは“行動”、プロパティは“能力値”と思えばバッチリだ!
プロパティとメソッドの違いをカードバトル風にまとめよう!
用語 | カードゲーム風の例 | GASでの例 |
---|---|---|
プロパティ | 攻撃力・守備力・属性 | cell.getValue() |
メソッド | 攻撃する・スキルを使う | sheet.getRange() |
SpreadsheetApp
はカードを召喚する魔法!getSheets()
やgetRange()
はカードの効果発動!getValue()
はステータスをチェックする感じ!
わあ!SpreadsheetAppって、カードゲームみたいでワクワクしますね!

猫男

catman
その感覚を忘れるな!GASはコードで戦う“頭脳バトル”なんだ!
練習問題にチャレンジ!
問1:モンスター召喚コード
以下のコードは何を意味していますか?最も適切なものを選びましょう。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
- スプレッドシート全体を削除している
- 最初のシートを取得している
- スプレッドシートの新規作成をしている
問2:このコードの中で「モンスターの効果」に当たるのはどれ?
const value = sheet.getRange("B2").getValue();
- sheet
- getRange()
- B2
解答と解説
問1の答え:B「最初のシートを取得している」
`getSheets()[0]` はスプレッドシート内の最初のシートを取得する「召喚」のようなコードです。削除や新規作成はしていません。
問2の答え:B「getRange()」
これは「シートの中で、特定のセルを狙い撃ちする効果」に相当します。
まさに“カードの効果を発動する”ような操作ですね!