1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GAS学習メモ:寄せ集めコードは“手順書”に直す——順番・穴埋め・スコープでハマり回避

Posted at

はじめに

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名)をチェックリスト化すると爆速で直せる

本記事の続編や補足は、拙ブログでも発信しています。よろしければこちらもご覧ください → ブログはこちら

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?