GASを実行したのに、
「何も起きない」
「シートが変わらない」
と感じることがあります。
しかし、必ずしもGASが動いていないとは限りません。
実行する関数を間違えていたり、別のシートが更新されていたりする場合があります。
この記事では、GASを実行しても何も起きないように見えるときに、最初に確認するポイントを順番に説明します。
最初に確認すること
まず、次の3つを確認してください。
・どの関数を実行したか
・どのシートが変わる処理なのか
・実行後に何が起きるコードなのか
「何も起きない」と感じても、すぐにコードを書き直す必要はありません。
最初に、実行した処理と確認する場所が合っているかを見てみましょう。
1.実行する関数名が合っているか確認する
今回のGASコードには、次の4つの関数があります。
・saveProject
・saveProjectWithCheckbox
・createStaffSummary
・exportStaffSummaryPDF
それぞれ、実行する処理が異なります。
例えば、担当者別集計を作成したい場合は、
createStaffSummary
を実行します。
ここで、
saveProject
を実行しても、担当者別集計(GAS)シートは更新されません。
また、PDFを保存したい場合は、
exportStaffSummaryPDF
を実行します。
違う関数を実行すると、確認したい場所は変化しません。
この場合は、GASが動いていないのではなく、実行する関数を間違えている可能性があります。
Apps Script画面上部の関数選択欄を確認してください。

GASの実行方法が分からない場合は、こちらをご確認ください。
▶ GASの実行方法
2.変化するシートを間違えて見ていないか確認する
GASを実行しても、今見ているシートが変わるとは限りません。
今回のコードでは、関数によって変化するシートが異なります。
saveProjectを実行した場合
案件入力フォームの内容が、
案件データベース
へ追加されます。

また、案件入力フォームのC2がクリアされます。
実行後は、案件データベースと入力フォームを確認してください。

createStaffSummaryを実行した場合
集計結果は、
担当者別集計(GAS)
へ出力されます。
案件入力フォームを見ていても、集計結果は確認できません。
exportStaffSummaryPDFを実行した場合
この関数は、担当者別集計(GAS)シートをPDF保存します。
実行しても、スプレッドシートの内容は基本的に変わりません。
PDFはGoogleドライブの、
担当者別集計PDF
フォルダへ保存されます。


このように、GASの実行結果が別のシートやGoogleドライブに表示されることもあります。
「何も変わらない」と感じたときは、どこが変わる処理なのかを確認してください。
「何も変わらない」と感じたときは、どのシートが変わる処理なのかを確認してください。
3.条件を満たしたときだけ動く処理ではないか確認する
コードによっては、条件を満たしたときだけ実行される処理があります。
今回の、
saveProjectWithCheckbox
では、C9のチェックボックスにチェックが入っている場合のみ、
新規登録名簿シートへもデータが転記されます。
チェックが入っていない場合でも、次の処理は行われます。
・案件データベースへ登録する
・入力フォームをクリアする
・完了メッセージを表示する
ただし、新規登録名簿シートには追加されません。
この場合は、
「GASが動かなかった」
のではありません。
新規登録名簿へ転記する条件を満たしていなかっただけです。
ifを使ったコードでは、条件によって一部の処理だけ実行されないことがあります。
今回のチェックボックスを使った処理はこちらで確認できます。
▶ GASでチェックボックスにチェックが入っていたら2つのシートに転記するコード
https://office-automation-lab.com/gas-copy-data-to-two-sheets-checkbox/
4.実行後の変化を確認する
GASを実行したあとは、関数に合った場所を確認します。
| 実行した関数 | 主に確認する場所 | 実行後の変化 |
|---|---|---|
| saveProject | 案件データベース | データが追加される |
| saveProjectWithCheckbox | 案件データベース | データが追加される |
| saveProjectWithCheckbox | 新規登録名簿 | チェック時のみ追加される |
| createStaffSummary | 担当者別集計(GAS) | 集計結果が更新される |
| exportStaffSummaryPDF | Googleドライブ | PDFが保存される |
また、
saveProject
と、
saveProjectWithCheckbox
では、実行後に入力フォームもクリアされます。
exportStaffSummaryPDFでは、スプレッドシートが変化しなくても、GoogleドライブにPDFが保存されていれば正常です。
「何も起きない」と感じたときは、実行した関数と確認している場所が合っているかを見直してください。
5.完了メッセージを確認する
今回の4つの関数では、処理が最後まで進むと完了メッセージが表示されます。
saveProjectとsaveProjectWithCheckboxでは、
「案件を登録しました。」
と表示されます。
createStaffSummaryでは、
「担当者別集計を作成しました。内容を確認してください。」
と表示されます。
exportStaffSummaryPDFでは、PDFの保存先フォルダとファイル名が表示されます。
完了メッセージが表示された場合は、まず表示内容に合った場所を確認してください。
6.実行ログにエラーが出ていないか確認する
完了メッセージが表示されない場合は、Apps Scriptの実行ログも確認してください。

実行ログにエラーが表示されている場合は、
「何も起きない」
のではなく、途中で処理が止まっている可能性があります。
この記事では、エラーの詳しい内容までは説明しません。
エラーが表示されている場合は、次のページへ進んでください。
それでも何も起きないとき
次の順番でもう一度確認してください。
・実行した関数名は合っているか
・変化する場所を確認したか
・条件を満たしているか
・完了メッセージが表示されたか
・実行ログにエラーが出ていないか
GASコードを書く場所や、関数の確認方法が分からない場合はこちらをご確認ください。
まとめ
GASを実行しても何も起きないように見えるときは、すぐにコードが壊れていると判断しないことが大切です。
まずは、
・どの関数を実行したか
・どこが変わる処理なのか
・条件付きの処理ではないか
・完了メッセージが表示されたか
を確認してください。
スプレッドシートが変化しなくても、別のシートやGoogleドライブで処理が完了している場合があります。
それでも結果を確認できない場合は、実行ログを確認しましょう。
次に読むおすすめ記事
▶ GASの実行方法

コメント