■ はじめに
「ChatGPTなどのAIにGASを書いてもらったのに、エラーで動かない」
「AIに何度聞き直しても、同じところで止まってしまう」
そんな経験はありませんか?
AIは便利ですが、あなたのスプレッドシートの中身までは知りません。そのため、コード自体は正しくても、シートとの「つなぎ目」でつまずくことがよくあります。
この記事では、AIで作ったGASが動かないときに、まず確認したいポイントを5つご紹介します。
■ 1. エラーメッセージと行番号を読む
GASのエディタで実行すると、画面下の「実行ログ」にエラーが表示されます。まずは、エラーの文章と「何行目で止まったか」を確認しましょう。
英語で書かれていて難しく見えますが、この2つが分かるだけで、原因はかなり絞り込めます。
■ 2. シート名や列の位置がコードと合っているか
よくあるのが「Cannot read properties of null」というエラーです。これは多くの場合、コードに書かれたシート名が、実際のシート名と違うときに起きます。
全角と半角の違いや、名前の後ろの見えないスペースも原因になります。列を追加・移動した場合も、コードが見ている列がずれていないか確認してみてください。
■ 3. 初回の「承認」が済んでいるか
GASを初めて実行するときは、「このスクリプトにアクセスを許可しますか」という確認画面が出ます。ここで許可しないと、メール送信やほかのファイルの読み書きはできません。
ボタンから実行して動かないときは、一度エディタから実行して、承認を済ませてみましょう。
■ 4. トリガーの種類が合っているか
「セルを編集したら自動でメールを送る」といった処理は、関数名をonEditにするだけでは動かないことがあります。メール送信のように承認が必要な処理は、エディタの「トリガー」画面から設定する必要があるためです。
「手動で実行すると動くのに、自動だと動かない」ときは、ここを疑ってみてください。
■ 5. データが多すぎないか
GASには「1回の実行は6分まで」という上限があります。最初は動いていたのに、データが増えてから止まるようになった場合は、この上限に引っかかっているかもしれません。
1セルずつ読み書きしている部分を、まとめて読み書きする形に直すだけで、解決することも多いです。
■ AIに聞き直すときのコツ
AIに相談するときは、「エラーの文章全文」「止まった行のコード」「シートの名前と、どの列に何が入っているか」をセットで伝えると、答えの精度がぐっと上がります。
■ まとめ
AIで作ったGASが動かないときは、コードよりも、シートとの「つなぎ目」に原因があることがほとんどです。今回の5つを順番に確認してみてください。
それでも直らない、どこを見ればいいか分からないという方は、お気軽にご相談ください。スプレッドシートのコピーとエラーの内容を拝見して、原因の見当をお伝えしてからお見積りいたします。
▼動かなくなったGASの修正はこちら
https://coconala.com/services/4489742▼ExcelマクロのGAS移植はこちら
https://coconala.com/services/4475399