※この記事は、GASやプログラミングにあまり馴染みがない方向けの内容です※
最近、AIを使って仕事を効率化する話をよく聞くようになりました。
文章を整えてもらったり、アイデアを出してもらったり、調べものを手伝ってもらったり。
AIは、日々の仕事の中でかなり身近な存在になってきたように感じます。
その中でも、個人的に「これは便利だな」と思うのが、GASを使った業務の自動化です。
たとえば、
「スプレッドシートの内容をチェックして、条件に合うものだけメールで通知したい」
「Googleフォームの回答を集計して、必要な情報だけ別シートにまとめたい」
「毎朝、期限が近いタスクを自動で確認したい」
こんなことも、AIに相談するとそれらしいコードを作ってくれます。
以前なら、プログラムに詳しくないと難しかったことも、今はAIの力を借りれば試しやすくなりました。
これは本当にすごいことだと思います。
ただ、ここで少しだけ立ち止まりたいポイントがあります。
AIが作ってくれたコードを、意味がよく分からないままコピーして、貼り付けて、言われるがまま実行していないでしょうか。
もちろん、AIを使うこと自体が悪いわけではありません。
むしろ、どんどん活用した方がよいと思います。
ただ、GASはスプレッドシートやGmail、Googleドライブなどを操作できる、とても便利で強力な仕組みです。
便利だからこそ、
「このコード、何をしているんだろう?」
と少しだけ確認してから実行することが大切です。
今回は、日々GASを使って業務自動化の仕組みを作っている立場から、AIに作ってもらったGASを実行する前に見ておきたいポイントと、GASエディタでできる確認方法について紹介します。
そもそもGASって何?
GASは、Google Apps Scriptの略です。
ひとことで言うと、Googleのサービスを自動で動かすための仕組みです。
Googleスプレッドシート、Gmail、Googleフォーム、Googleドライブ、Googleカレンダーなど、普段の仕事で使うことが多いサービスをプログラムから操作できます。
たとえば、GASを使うとこんなことができます。
- ・スプレッドシートのデータを読み取る。
- ・入力漏れがある行を探す。
- ・条件に合うデータだけ別シートに転記する。
- ・Gmailで特定のメールを検索する。
- ・メールを自動送信する。
- ・フォーム回答が届いたら通知する。
- ・Googleドライブにファイルを作成する。
- ・毎日決まった時間に処理を実行する。
こうして見ると、GASは「日々のちょっと面倒な作業」を減らすのが得意なツールです。
大きなシステムを作るほどではないけれど、毎回同じ作業をしている。
目視で確認しているけれど、ルールは決まっている。
決まったタイミングで誰かに通知したい。
そんな作業は、GASで自動化できるかもしれません。
ただし、できることが多いということは、影響範囲も広いということです。
スプレッドシートを読むだけのつもりが、実は値を書き換える処理も入っているかもしれません。
通知するだけのつもりが、想定外の相手にメールを送ってしまうかもしれません。
外部サービスに連携するつもりが、シートの中身を外に送っているかもしれません。
GASはとても便利です。
ただ、「よく分からないけど、とりあえず実行してみよう」には少し注意が必要です。
怖いのは「コードが難しいこと」ではない
コードを見慣れていないと、英語や記号が並んでいるだけで難しく感じるかもしれません。
でも、AIが作ったGASを実行するときに本当に怖いのは、コードが難しいことではありません。
怖いのは、
「何にアクセスしているのか」
「何を書き換えているのか」
「どこへ情報を送っているのか」
が分からないまま実行してしまうことです。
GASでは、スプレッドシートの内容を読むことができます。
これは集計やチェックには便利ですが、個人情報や社外秘情報が含まれているシートを扱う場合は注意が必要です。
スプレッドシートの値を書き換えることもできます。
正しく使えば便利ですが、間違った範囲を上書きすると、必要なデータを壊してしまう可能性があります。
Gmailを検索することもできます。
特定の件名や送信者のメールを探す処理などに使えますが、メールの内容には大事な情報が含まれていることもあります。
メールを送信することもできます。
通知やリマインドには便利ですが、宛先や条件を確認しないまま実行すると、意図しない相手にメールを送ってしまうかもしれません。
Googleドライブのファイルを操作することもできます。
ファイルを探す、作る、移動する、削除する、といった処理が可能です。
外部サービスにデータを送ることもできます。
ChatWorkやSlackなどに通知するときに使われることがありますが、どの情報をどこに送っているのかは必ず確認したいポイントです。
さらに、GASには「トリガー」という仕組みがあります。
これは、毎日決まった時間や、フォーム回答が送信されたタイミングなどに、自動で処理を実行する機能です。
一度だけ動かすつもりだった処理が、実は毎日動き続ける設定になっていた。
そんなことも起こり得ます。
AIが作ってくれたコードは、一見すると正しそうに見えます。
でも、「動くコード」が必ずしも「安全に使えるコード」とは限りません。
だからこそ、実行する前に少しだけ立ち止まって、何をしているコードなのか確認してみましょう。
よく見る単語だけでも、なんとなく分かる
「コードを全部読めるようになりましょう」と言いたいわけではありません。
全部を完璧に理解するのは大変です。
でも、GASによく出てくる言葉を少し知っているだけで、何をしているコードなのか見当をつけやすくなります。
ここでは、AIが作ったGASに出てきやすい単語をいくつか紹介します。
SpreadsheetApp
SpreadsheetApp は、Googleスプレッドシートを操作するためのものです。
この言葉が出てきたら、コードの中でスプレッドシートを開いたり、シートを選んだり、セルの値を読んだり書いたりしている可能性があります。
スプレッドシートの自動化ではよく使われるので、出てくること自体は自然です。
ただし、確認したいのは次の点です。
- ・どのシートを対象にしているのか。
- ・値を読むだけなのか。
- ・書き換える処理があるのか。
- ・対象範囲は正しいのか。
このあたりを見るだけでも、安心感が変わります。
GmailApp
GmailApp は、Gmailを操作するためのものです。
メールを検索したり、スレッドを取得したり、メール本文を確認したりする処理で使われます。
たとえば、「件名に“請求書”を含むメールを探す」「特定の送信者からのメールを取得する」といったことができます。
メールには個人情報や取引先情報が含まれていることもあるため、GmailApp が出てきた場合は、どのメールを対象にしているのか確認しておくと安心です。
MailApp
MailApp は、メールを送信するためのものです。
GmailApp がメールを探したり読む処理で使われることが多いのに対して、MailApp はメール送信で使われます。
この言葉が出てきたら、コードの中にメールを送る処理が含まれている可能性があります。
特に確認したいのは、宛先、件名、本文、送信される条件です。
テストのつもりで実行したら、本当の相手にメールが送られてしまった。
これはかなり避けたい事故です。
最初は自分宛てやテスト用のメールアドレスに送るようにして、内容を確認してから本番用に変更すると安心です。
DriveApp
DriveApp は、Googleドライブを操作するためのものです。
ファイルを検索する、フォルダを取得する、ファイルを作成する、削除する、といった処理で使われます。
ドライブ内のファイルを扱うため、影響範囲が広くなりやすいです。
DriveApp が出てきたら、ファイルを読むだけなのか、新しく作るのか、移動するのか、削除するのかを確認したいところです。
特に、delete や trash のような単語が近くにある場合は、ファイルを削除したり、ゴミ箱に移動したりする処理の可能性があります。
UrlFetchApp
UrlFetchApp は、外部のURLにアクセスするためのものです。
ChatWorkやSlackなどの外部サービスに通知する場合や、外部APIと連携する場合によく使われます。
便利な機能ですが、特に注意して見たい項目です。
なぜなら、スプレッドシートやメールから取得した情報を、外部サービスに送っている可能性があるからです。
UrlFetchApp.fetch() のような記述があったら、どのURLにアクセスしているのか、どんなデータを送っているのかを確認しましょう。
知らないURLや、用途が分からないURLが書かれている場合は、そのまま実行せず、一度確認した方が安全です。
ScriptApp
ScriptApp は、GASそのものの設定やトリガーに関係する処理で使われます。
トリガーとは、決まったタイミングで処理を自動実行する仕組みです。
たとえば、「毎日9時に実行する」「1時間ごとに実行する」「フォームが送信されたら実行する」といった設定ができます。
ScriptApp.newTrigger() のような記述があったら、自動実行の設定を作ろうとしている可能性があります。
トリガーは便利ですが、意図しない処理が繰り返し実行されると困ることもあります。
本当にその頻度で動かしてよいのか、設定する前に確認しましょう。
実行前の合言葉は「読む・送る・書く・消す・繰り返す」
AIが作ったGASを実行する前に、すべてのコードを完璧に理解するのは難しいかもしれません。
そんなときは、まず次の5つを確認してみてください。
合言葉は、
「読む・送る・書く・消す・繰り返す」
です。
読む
まずは、何を読んでいるかを確認します。
- ・スプレッドシートの内容を読んでいるのか。
- ・Gmailの内容を読んでいるのか。
- ・Googleドライブのファイル情報を読んでいるのか。
読むだけなら安全に見えるかもしれませんが、扱っているデータの中に個人情報や機密情報が含まれる場合は注意が必要です。
また、必要な範囲だけを読んでいるのかも確認したいポイントです。
本当は一部の列だけでよいのに、シート全体を取得していることもあります。
送る
次に、何かを送っていないかを確認します。
- ・メールを送信している。
- ・ChatWorkやSlackに通知している。
- ・外部のURLにデータを送っている。
このような処理がある場合は、宛先や送信内容を必ず確認しましょう。
特に、MailApp や UrlFetchApp が出てくる場合は注意したいところです。
テスト中は、実際の宛先ではなく、自分のメールアドレスやテスト用の通知先に送るようにしておくと安心です。
書く
次に、何かを書き換えていないかを確認します。
- ・スプレッドシートに値を書き込んでいる。
- ・既存の値を上書きしている。
- ・ファイルを作成している。
- ・ステータスを更新している。
このような処理は、業務自動化ではよく使われます。
ただし、本番データを直接書き換える処理は、実行前に慎重に確認した方がよいです。
どのシートのどの範囲を書き換えるのか。
既存データを消していないか。
上書きしても問題ない場所なのか。
このあたりを見ておきましょう。
消す
削除処理が入っていないかも確認します。
- ・シートの行や列を削除する。
- ・セルの内容をクリアする。
- ・Googleドライブのファイルを削除する。
- ・メールを削除またはアーカイブする。
削除系の処理は、便利な反面、失敗したときの影響が大きくなりやすいです。
delete、remove、clear、trash などの単語が出てきたら、何を消す処理なのか確認した方がよいです。
最初は削除せず、削除対象をログに出すだけにする。
これだけでも、かなり安全に確認できます。
繰り返す
最後に、繰り返し実行される設定になっていないかを確認します。
GASにはトリガーという仕組みがあり、毎日、毎時間、フォーム送信時などに自動実行できます。
これはとても便利ですが、意図しない処理が何度も実行されると困ることがあります。
たとえば、毎日同じ相手にメールを送ってしまう。
何度も同じデータを追記してしまう。
不要になった処理が動き続ける。
このようなことを防ぐために、トリガーを設定する前には、手動実行で問題なく動くことを確認しましょう。
また、設定したトリガーをどこで確認・削除できるかも把握しておくと安心です。
GASエディタは「スロー再生」に使える
GASエディタは、コードを書くためだけの場所ではありません。
コードが何をしているのかを確認するための機能もあります。
AIが作ったコードをそのまま実行する前に、エディタの機能を使って少し確認してみると安心です。
実行する関数を選ぶ
GASでは、実行したい関数を選んでから実行します。
コードの中には、次のように複数の function が書かれていることがあります。
function main() {
sendReminder();
}
function sendReminder() {
// メール送信処理
}
この場合、どの関数を選んで実行するかによって、動く処理が変わることがあります。
AIが「main関数を実行してください」と説明している場合でも、念のため main の中でどの関数が呼ばれているかを見てみるとよいです。
「実行ボタンを押せば全部いい感じに動く」と思ってしまいがちですが、実際には選択した関数が実行されます。
まずは、どの関数を動かそうとしているのか確認しましょう。
実行ボタン
GASエディタの上部には、実行ボタンがあります。
これは、選択中の関数を実行するためのボタンです。
初めて実行するときには、権限の承認を求められることがあります。
たとえば、スプレッドシートを操作する権限、メールを送信する権限、Googleドライブにアクセスする権限などです。
ここで表示される権限は、コードが何をしようとしているかを知るヒントになります。
「メール送信のコードだと思っていなかったのに、メール送信権限を求められた」
「スプレッドシートだけの処理だと思っていたのに、Googleドライブへのアクセス権限を求められた」
このような場合は、一度立ち止まってコードを確認した方がよいです。
ログ
ログは、処理の途中で「今どうなっているか」を確認するためのメモのようなものです。
GASでは、console.log() や Logger.log() を使ってログを出すことができます。
たとえば、次のようなコードです。
function main() {
const SHEET = SpreadsheetApp.getActiveSheet();
const LAST_ROW = SHEET.getLastRow();
console.log('最終行: ' + LAST_ROW);
}
このコードでは、スプレッドシートの最終行が何行目かをログに出しています。
ログを使うと、処理がどこまで進んだか、取得したデータの件数、変数に入っている値、条件分岐でどちらの処理に進んだかなどを確認できます。
特に、メール送信や削除処理をいきなり実行するのが不安な場合は、まず送信内容や削除対象をログに出すだけにすると安心です。
「実際に送る前に、何が送られる予定なのかを見る」
「実際に消す前に、何が消される予定なのかを見る」
これだけでも、事故を防ぎやすくなります。
デバッグ実行
通常の実行では、コードは最後まで一気に進みます。
一方、デバッグ実行を使うと、処理を途中で止めながら確認できます。
イメージとしては、コードの動きをスロー再生するようなものです。
AIが作ったコードを見て、
「なんとなく動きそうだけど、どの順番で何をしているのか分からない」
というときに便利です。
デバッグ実行を使うと、処理がどの行を通っているのか、途中でどんな値になっているのかを確認しながら進められます。
ブレークポイント
ブレークポイントは、「ここで一度止まってほしい」という目印です。
GASエディタでは、コードの行番号の横をクリックすると、ブレークポイントを設定できます。
ブレークポイントを置いてからデバッグ実行すると、その行で処理が一時停止します。
たとえば、メールを送る直前の行にブレークポイントを置けば、メール送信前に処理を止めることができます。
その時点で、宛先や本文にどんな値が入っているのかを確認できます。
削除処理の直前に置けば、何を削除しようとしているのかを確認できます。
このように、ブレークポイントは「危ない処理の直前で一度止まる」ために使うと、とても便利です。
ステップ実行
デバッグ中は、処理を1行ずつ進めることもできます。
これをステップ実行といいます。
ステップ実行を使うと、コードがどの順番で動いているのかを確認できます。
一気に実行すると分からない処理の流れも、1行ずつ見ていくと理解しやすくなります。
最初からすべてを理解する必要はありません。
まずは、処理がどこから始まり、どの関数を通り、どこでデータを読み、どこで書き込みや送信をしているのかを追ってみるだけでも十分です。
GASエディタは、コードを書く場所であると同時に、コードの動きを確認する場所でもあります。
いきなり本番で試さない
AIが作ったコードを試すときは、いきなり本番データで実行しないことをおすすめします。
スプレッドシートを操作するコードであれば、まず対象のシートをコピーして、テスト用のシートで実行します。
メール送信のコードであれば、最初は自分宛てやテスト用のメールアドレスに送るようにします。
大量のデータを扱うコードであれば、まずは数件だけのデータで試します。
削除処理がある場合は、最初から削除するのではなく、削除対象をログに出すだけにして確認します。
たとえば、実際に行を削除する前に、
「この行を削除する予定です」
というログを出すようにしておくと、対象が合っているか確認できます。
また、トリガーで定期実行する処理も、いきなり自動実行にするのではなく、まずは手動で実行して問題ないことを確認した方が安全です。
自動化は、うまく動くととても便利です。
ただし、便利なものほど、間違って動いたときの影響も大きくなることがあります。
まずは小さく試す。
問題なさそうなら少しずつ範囲を広げる。
最後に自動実行にする。
この順番で進めると、安心して使いやすくなります。
AIには「コードを書いて」だけでなく「説明して」も頼む
AIは、GAS自動化を始めるうえでとても心強い相棒です。
「こういう作業を自動化したい」と伝えると、コードを書いてくれます。
エラーが出たときに相談すれば、原因の候補を出してくれます。
コードの意味を聞けば、説明もしてくれます。
ここで大事なのは、AIに「コードを書いて」と頼むだけで終わらせないことです。
作ってもらった後に、追加でこんなふうに聞いてみるのがおすすめです。
「このコードが何をしているか、初心者にも分かるように説明してください」
「このコードの中に、メール送信・外部送信・削除・上書き処理はありますか?」
「実行前に注意すべき点を教えてください」
「本番データを変更しないテスト用のコードにしてください」
「送信や削除をせず、対象をログに出すだけの形にしてください」
「各行にコメントを付けてください」
AIは、コードを作るだけでなく、コードを理解するためにも使えます。
分からないまま実行するのではなく、分からないところをAIに説明してもらう。
危ない処理がないかAIに確認してもらう。
テストしやすい形に書き換えてもらう。
このように使うと、AIに任せきりではなく、自分でも確認しながら進めやすくなります。
もちろん、AIの説明が常に正しいとは限りません。
- ・権限の意味が分からない。
- ・外部URLが出てきたけれど何をしているか不安。
- ・削除や上書きの処理が含まれている。
- ・社内情報や個人情報を扱っている。
このような場合は、詳しい人に相談することも大切です。
AIはとても便利ですが、判断まで完全に任せるのではなく、確認するための道具として使うのがよいと思います。
まとめ:AIは相棒。でも、実行ボタンを押すのは自分
AIのおかげで、GASによる業務自動化は以前よりもずっと始めやすくなりました。
スプレッドシートの確認、メール通知、フォーム回答の集計、期限チェックなど、日々の小さな面倒を減らせる場面はたくさんあります。
一方で、GASはGoogleサービスを操作できる強力な仕組みでもあります。
だからこそ、AIが作ってくれたコードをそのまま実行する前に、少しだけ確認する習慣を持つと安心です。
完璧にコードを読める必要はありません。
ただ、
「何をしているか分からないけど、とりあえず実行する」
状態から、
「ここでシートを読んでいる」
「ここでメールを送ろうとしている」
「ここで書き換えが起きる」
くらいまで分かるだけでも、安心感は大きく変わります。
AIは、業務改善の強い味方です。
ただし、最後に実行ボタンを押すのは自分です。
AIに任せきりにするのではなく、AIに説明してもらいながら、自分でも確認する。
そんな付き合い方ができると、GAS自動化はもっと安全に、もっと便利に使えるようになると思います。