前提・実現したいこと
担当者にスプレッドシートのURLを渡しており、確認作業を依頼します。
指定のセルを”完了”とすると、
担当者のスプレッドシートには送信日が
管理者の別のスプレッドシートに担当者のスプレッドシートの日付と担当者の書かれたセルがコピー
されるようにしたいです。
発生している問題・エラーメッセージ
担当者のスプレッドシートに日付が入力されるのですが、管理者の別のスプレッドシートにはなにもコピーされません。
該当のソースコード
function onEdit(e) { const workingSheet = e.range.getSheet(); const date = Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy/MM/dd") if(e.value !== "完了") {return;} var result = Browser.msgBox('終了連絡をしますか?', Browser.Buttons.OK_CANCEL); if(result == 'ok'){ Logger.log(date); SpreadsheetApp.getActiveSheet().getRange(1,6).setValue(date); const formValue = workingSheet.getRange(1, 1, 1, 5).getValues(); var ss = SpreadsheetApp.openById("管理者のurl"); var Sheet_CopyTo = ss.getSheetByName('提出情報'); var LastRow = Sheet_CopyTo.getLastRow(); Sheet_CopyTo.getrange(LastRow+1,1,LastRow+1,5).setValue(formValue); } else if (result == 'cancel'){ SpreadsheetApp.getActiveSheet().getRange(1,7).setValue("対応中"); } }
表示されるエラー
TypeError: Cannot read property 'range' of undefined
onEdit @ コード.gs:2
が出ます。
GASの質問はGoogle Apps Script のタグがあるので、それを付けましょう。
あと、実行ログを確認すると多分なにかしらエラーが出てるんじゃないでしょうか?
失礼しました。ご指摘のところ、追記しました。
追記、修正ありがとうございます。
たぶん追記いただいたエラーは、エディタを手動実行した際のものかと思われます。
それではなくて、エディタ左側の実行数のメニューから、トリガーで実行された際のログを確認されることをお勧めします。
手順をお示しいただき、ありがとうございます。
エディタ左側の実行数のメニューから、トリガーで実行された際のログを確認
これを知らず、エディタの手動実行で止まってしまって、困ってました。
回答2件
あなたの回答
tips
プレビュー