巻物を探す
35件の巻物
GAS完全自動化テンプレ — Driveコマンドキュー方式
Google Apps Script の「毎回エディタで▶実行」を根絶。Drive 経由のコマンドキューで、初回1クリック以降は AI がすべての GAS 関数をリモート実行できるようになるテンプレート指示書。
GAS 新規立ち上げ標準手順(clasp+コマンドキュー)
clasp と自作コマンドキューで、run-function 封鎖の Workspace 環境でも AI から GAS を継続実行できる新規プロジェクト立ち上げ手順。人間の作業は setupOnce の1クリックのみ。ホワイトリスト実行・並走防止・機密値の置き場も規定。
GAS 開発の絶対ルール(clasp統一・キュー・read-back)
.gs/appsscript.json/.clasp.json を編集すると自動適用される GAS 開発ルール集。clasp push 統一、コマンドキュー方式、書き込み後の read-back verify、silent ignore 対策、push 後もトリガーが旧コードで動く罠までを規定。
スプレッドシート業務アプリに画面キャプチャ付き不具合報告フォームを付ける(GAS)
GASのOverGridImageにgetBlob()が無くシート貼付画像は読めない。HTMLダイアログでCtrl+Vを受ける正しい設計・記録列マイグレーション・read-back検証・画像を捨てない後片付けまでの実装指示書
スプレッドシート実行パネルの結果セルを必ずクリック可能にする(GAS)
GASでシートを操作パネルにした時、生成物リンクがセルに出ず別シートを探させてしまう問題の潰し方。URLキーの総なめ収集・RichTextで複数リンク・過去分の埋め戻し・再構築で消える罠・全走査で6分制限に当たってトリガが死ぬ罠まで。
請求書・領収書を「別シートに1行入れるだけ」で作る GAS 帳票テンプレ
スプレッドシートに 帳票/データ/設定 の3シートを組み、入力1行で印刷用帳票が完成する構成をGASで作る。セル値の読み戻しでは検出できない印刷時の文字切れを、PDF書き出しの目視で潰すまでを含む。
GASウェブアプリの画面をjsdomで検証する — 単体テストでは原理的に見つからない画面バグを捕まえる
GASの画面JSはブラウザ無しでは検証できず、単体テスト全pass・API正常・データ正常のまま主要導線が死ぬ。Index/Style/Scriptを連結してjsdomで実行し、実データを流して要素の有無とボタンの活性まで自動判定するハーネスの作り方。
Googleユーザーデータを認証なしローカルアプリに出す — GAS→公開HTTPS橋渡し
自作ダッシュにGoogleタスク/カレンダー等を、アプリにOAuthを持たせずGAS→公開HTTPS ingestへPOST→ローカルキャッシュ→Widgetで表示。Web App公開/clasp run/SA不要。funnel実ポート確認・秘密の置き場・basePath・本番再ビルド等の実測ハマりどころ付き
本番共有スプレッドシートを壊さず一括更新する型(GAS)
複数人が使っている本番シートに対し、AIが担当者名の一括置換や誤登録行の削除を安全に行うための設計。dryRun→照合キー付き適用→独立read-backの3段と、GASのコード雛形・実際に踏んだ落とし穴つき。
GAS Webアプリ 原因不明の失敗 切り分けチェックリスト
手動実行は成功するのにWebアプリ経由だけ失敗するGASの謎エラーを、サーバー最適化より先に別端末テスト→キャッシュ確認の順で切り分ける手順
スプレッドシートのボタンUIを複数人同時利用に耐えさせる(GASジョブキュー化)
▶チェックで処理が走るシートUIは複数人が同時に使うと予約が黙って消える。1押下=1キュー行+対象ごとにシート分離+claimワーカーで直す設計と、script lockの奪い合い・6分制限・並列検証の落とし穴
GAS+スプレッドシートで数値・日付が静かに壊れる3つの罠と回避策
セルの表示形式とタイムゾーンに起因して、例外も出さずにデータが壊れる3パターン(TZ不一致/文字列の日付自動変換/列拡張時の書式引き継ぎ)の回避策と修復手順。単体テストでは検出できない層のバグを早期発見するための3原則つき。
GASの夜間バッチを必ず完走させる設計(6分制限・再開・作り置き)
実行時間上限のある環境で長時間バッチが永久に完走しない3つの原因(リスト後方の飢餓・入力1件の変更で全チャンク破棄・自分の生成物を再入力)と、台帳による優先順/チャンク単位フィンガープリント/生成物除外での直し方。部分確定と失敗カウンタ期限切れ、検証手順つき。
本番スプレッドシートに「新しいレコードの列ブロック」を安全に増やす型(GAS)
横並び1レコード=N列のシートに、既存ブロックの複製で新しい列ブロックを自動追加する型。数式の相対参照追従・IMPORTRANGEの絶対URL差し替え・日付セルのread-back照合の罠・本番検証用の撤去コマンドまで。
GASアプリ群への不具合報告フォーム横展開 — 各アプリを匿名公開せず共通フォーム1本へリンクする
機微データを持つ・スコープを触れない・画面が無い、で止まる横展開を、フォームをパラメータ化して共通1本に集約する方式で全部さばく。器の選び方で人間のクリックを0回にする方法と、文字化け・公開範囲の検証3点まで。
散らばった業務シートから「発注し忘れ」を機械的に検知する集約表を作る(GAS)
案件ごとに分かれたスプレッドシートと外部ストレージを突き合わせ、「表にあるがデータが無い」「データはあるが表に無い」の双方向で抜けを出す。品名列が複数ある/テンプレフォルダが空/6分制限/トリガー上限など、実測で踏んだ罠と回避策つき。
GAS Web App の「直したのに反映されない」を構造的に潰す
clasp push だけでは /exec に反映されず、--deploymentId 更新は成功表示のまま古いコードを配信し続ける。push→新規デプロイ→認証URL差し替え→疎通確認を1本化する型(PowerShell 5.1 の落とし穴込み)
稼働中の既存GASを、副作用を起こさずに検証してから本番反映する
定期実行中のApps Scriptに仕様変更を入れる手順。メール送信などの副作用を起こさずに実データでロジックを検証し、clasp push後にpullで突合するまでを機械判定で閉じる。clasp loginの認可URLが死ぬ罠、pullの拡張子違いで差分ゼロを誤認する罠つき。
GASの時間主導トリガーがデプロイ版に固定される罠 — 「成功したのに何も起きない」の切り分け
clasp push しても時間主導トリガーは旧バージョンのコードを実行し続ける。エラーも出ず戻り値もOKなため原因が特定できない。新関数プローブで実行中のコードを確定させ、clasp deploy -i でURLを変えずに直す手順。
GAS Webアプリ バーコードラベル印刷(iOS AirPrint対応)
Google Apps ScriptのWebアプリからBrother等のラベルプリンタへ印刷する際、iOS AirPrintが連続ロールのカット長を無視する問題をjsPDF生成で回避する実装パターン
GAS Webアプリの同時アクセスクォータエラー対策
複数人利用のGoogle Apps ScriptアプリでSpreadsheetApp.openByIdが同時呼び出しエラーになる問題を、リトライ+バックオフ+ジッターのラッパー関数で解消する手順
人間の手入力台帳を壊さずに自動更新する — GAS Web App upsert 設計
各PC/各拠点の点検結果を、人間が手運用しているスプレッドシート台帳へ自動反映する。手入力列とコメントを絶対に壊さない突合設計、タブ/列の解決、並行POST対策、配布シークレットの落とし穴まで。
スプレッドシートを業務UIにする — フェーズ折りたたみ+2種チェックボックスのパネル
Google Sheets を現場の操作画面にする GAS 設計テンプレ。工程ごとに行グループで畳み、押すと走る▶と進捗として残る✅を同居させる。可視列とメタ情報の衝突、無言で捨てる保存関数、集計が古い値で固まる順序ミス、6分制限との戦い方まで、実装で実際に踏んだ罠を対策込みで収録。
スプレッドシートのシート追加ボタンが copyTo null で落ちる原因をデータだけで特定する
GASボタンの Cannot read properties of null (reading 'copyTo') は、シート名一覧と実シート名のズレ。Sheets API で実名・一覧列・プルダウンのデータ検証を突き合わせて壊れた参照を全件出し、退避先から復元して read-back 検証するまでの手順。末尾スペース事故とバインド型スクリプトに到達できない制約も含む。
共有端末アプリの担当者別状態バグ防止
GAS/Sheetsで共有端末アプリを作る時、担当者名を一意キーに含め忘れて全員の状態が連動してしまうバグの原因と直し方
クラウド契約とプロジェクト所在を1枚のスプレッドシート台帳に自動集約する
複数PC・複数クラウドの「どのアカウントの・どこにある・何のプロジェクトか分からない」を、各PCと中央が自動で書き込む3タブの台帳で解消する。支払い情報を安全に扱う許可リスト設計と、実装中に必ず踏む『成功したのに空』の罠4つ(CLIがstderrに表を出す/Windowsの.cmdシム/GASのファイル評価順/クライアントtimeout≠未達)まで含む。
デプロイ更新の「狭間」が本番データを壊す — 新旧の版が同時に動く前提で冪等性を設計する
サーバレス/GAS Web App でデプロイ切替は即時でも原子的でもない。切替の狭間で新旧の版が混在し、旧版の書き戻しを新版の移行ロジックが無条件変換してデータを壊す型と、冪等性の定義拡張・修復関数・切り分け手順・read-back検証までをまとめる。
google.script.run の null が undefined になる罠 — 本番だけ出る NaN 表示の自動検出
GASウェブアプリでサーバ側の null がブラウザで undefined になり、=== null の分岐が素通りして NaN が表示される。単体テストでもJSON fixtureでも再現しない理由と、null を落とした fixture で描き直して自動検出する方法。
Google Drive のフォルダ整理を自動化を壊さず権限事故も出さずにやる
散らかった Drive を片付ける前に確認すべきこと。フォルダ移動は ID 不変なので安全だが、共有フォルダへ移すと権限が黙って広がる。簡易APIは権限を過少報告し、継承権限は子フォルダから削除できない。二重化を起こす名前検索の見分け方と、権限削除スクリプトの安全機構、再発源の潰し方まで。
デプロイ/UI変更を必ず2段検証してから完了報告
コード・デプロイ・cron・env・UI変更後に、ロジック層(Node再現)とブラウザ層(Playwright)の2段でassert検証し、検証済みだけを完了報告させる手順。「画面で確認して」の丸投げを禁止。
Claude Code の「毎リクエスト課金される文脈」を実測して削る
~/.claude/rules/ の .md は paths: が無いと全リクエストに無条件ロードされる。count_tokens API でファイル単位に実測し、常時ロードから安全に外し、配布済みの全端末を自動移行させるまでの手順。早期returnの後ろに後始末を書くと一部端末で永久に直らない、削除でなく移動にしないと全文が消える窓ができる、といった実装上の落とし穴と回帰テスト5ケース付き。実測で 29,295→6,020 tok/req。
予約データから『価格が高すぎるのか』を判定する手順(リードタイム・ペース曲線)
先の予約が薄い時に憶測で値下げせず、リードタイム別の実勢単価・過去の同じN日前のペース・提示価格の実表示を突き合わせて外れている帯を1つに絞る手順。在庫の穴の見つけ方つき。
別シートの列番号が腐って別レコードの値を返す事故の直し方(名前照合+日付タイブレーク)
保存した列番号は列の挿入削除で全件ズレる。壊れた件数の測り方、NFKC正規化と最長優先の名前照合、同名列を期間で割るタイブレーク、確定できない時は空を返す設計、純関数化とテストケースまで。
成功しているのに『スキップ』と出るバグの潰し方(ディスパッチャの戻り値規約)
ボタン一覧→コマンド関数をディスパッチする型のツールで、状態フラグと明細配列に同じキー名を使うと空配列がtruthyで常に成立し、成功しても『スキップ』表示になる。原因特定の順序・修正・文言そのものをテストする退行防止まで
「名前でフォルダを探して無ければ作る」処理が自分の重複を掴み続ける問題を潰す
自動化が保存したファイルが現場のフォルダに入らず「同じ名前のフォルダが2つある」状態になる。真因は探索の深さでも起点でもなく「ヒットで即return する順序」。候補を全部集めてスコアで選ぶ形へ直す手順と、再発を縛るテストの書き方をまとめた指示書。