【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()」
これは「シートの中で、特定のセルを狙い撃ちする効果」に相当します。
まさに“カードの効果を発動する”ような操作ですね!