はじめに
Google Apps Script(GAS)で「スプレッドシートから議事録ドキュメントを自動生成」を作る過程で得た学びをメモ。結論:コードは手順書。順番を正し、抜けを埋め、スコープを意識すれば動く。
今日の気づき
-
寄せ集めコードは並び替え必須:順序が崩れてると動かない
-
コード=手順書:人間の操作(PC置く→電源挿す→起動→ログイン)と同じで、依存関係の前後を守る
-
“穴が開く”=一手欠け:足りない1手(例:values を作る前に appendTable(values))があると先へ進めない
-
調べて埋める:公式名や綴り・APIの場所は都度確認(SpreadsheetApp / getActiveSpreadsheet() など)
具体的にハマった点(再発防止チェック)
-
順番:
-
シートを開く → 2) values 取得 → 3) ドキュメント作成 → 4) 本文を書く → 5) 必要なら表を作る
-
スコープ:try { const body = ... } の外で body を使わない
-
TDZ(宣言前使用):const values を宣言前に使わない
-
大文字小文字・API名:Spreadsheet.App × → SpreadsheetApp 〇、getSheets() など
-
役割の取り違え:タイトル装飾は段落(Paragraph)、表のヘッダ装飾はTableのRow
擬似コード(考え方の骨組みだけ)
try {
// 1) シートを用意(アクティブ or openById)
// 2) values = sheet.getDataRange().getValues()
// 3) doc = DocumentApp.create(...)
// body = doc.getBody()
// 4) タイトル段落を追加して属性(太字/背景)を付与
// 5) 開催日時/参加者/議題/メモを段落で追記
// 6) (必要なら)appendTable(values) → 先頭行に装飾
} catch (e) {
Logger.log(e);
}
まとめ
-
コードは“順番が9割”。依存→準備→使用の順で書く
-
抜けは“穴”として現れる。1手戻って埋める
-
スコープ/TDZ/表現ゆれ(API名)をチェックリスト化すると爆速で直せる
本記事の続編や補足は、拙ブログでも発信しています。よろしければこちらもご覧ください → ブログはこちら