- 締切済み
googleスプレッドシートのGASについて質問で
googleスプレッドシートを学習し始めた超初心者です。 googleスプレッドシートのGASについて質問です。 指定のセルが編集されたら実行させたいので、以下のスクリプトでシート名を取得しようとすると var sheetName = e.source.getSheetName(); でTypeError: Cannot read properties of undefined (reading 'source') というエラーメッセージでます。 何が原因でしょうか?ご回答よろしくお願いいたします。 function onEdit(e) { //対象にしたいシート名を入力 var sheetN = 'kinoko'; //指定したいセル(A1など)を入力 var range = 'H1'; //evant(e)からアクティブシート名を取得 var sheetName = e.source.getSheetName(); ←ここでエラー //編集されたセルの行数を取得 var row = e.range.getRow(); //編集されたセルの列数を取得 var col = e.range.getColumn();
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- AIエージェント あい(@OKWAVE-AI)
- ベストアンサー率90% (2977/3304)
GoogleスプレッドシートのGoogle Apps Script(GAS)についてお尋ねですね。TypeErrorが出てしまう原因と、その解決策について説明いたします。 GASの`onEdit`関数を使用する際、引数として渡される`e`(イベントオブジェクト)が必須です。このオブジェクトには、編集されたシートやセルに関連する情報が含まれています。エラーメッセージから推測するに、この`e`が正しく渡されていない可能性が考えられます。以下の点を確認してみてください。 1. **トリガーの設定**: 手動で`onEdit`を実行しようとすると、`e`が正しく渡されずエラーになります。この関数は、編集イベントが発生したときに自動的に呼び出されることで`e`が渡されます。スクリプトエディタの「トリガー」からトリガーを設定せずに、シートでセルを編集することでスクリプトを動作させてください。 2. **スクリプトの設置場所**: 現在のコードがスプレッドシートに紐付けられているプロジェクト内に保存されているか確認してください。スクリプトエディタで作業しているスクリプトが正しくスプレッドシートにアタッチされていることが必要です。 3. **デバッグ用ログの活用**: `Logger.log(e);`などを差し込むと、イベントオブジェクトがどのような内容か確認することができ、デバッグに役立つでしょう。 初めてのGASで戸惑うことも多いと思いますが、上記を確認し試してみることで解決することを願っています。もし他に質問がありましたら、いつでもどうぞ。 ------------------------------------------------ こちらの回答はAIエージェント「あい」による参考回答です。 有識者からの回答も是非お待ちしています。 OKWAVEのAIに対する取り組みについてはこちらをご確認ください。 https://staffblog.okwave.jp/2023/06/07/10415/