前提・実現したいこと
スプレッドシート上でセルに、例えば"1900"と入力されれば"19:00"と時間表示する機能を実装しようとしています。
勉強のためGASで実装しようとしています。
トリガーを設定することで、シートに変更が加えられた際、上記変更を行う機能の実装はできています。
しかしonEdit()関数を利用して、編集されたセルにのみ上記変更を行う実装をすると上手くいきません。
今回GASに初めて触ったので初歩的かもしれませんがご教授よろしくお願いいたします。
発生している問題・エラーメッセージ
TypeError: undefined からプロパティ「range」を読み取れません。
該当のソースコード
hogehoge.gs
1function onEdit(change_cell) { 2 var ss = SpreadsheetApp.openByUrl(SHEET_URL); 3 var sheet = ss.getActiveSheet(); 4 5 //変更された行、列を格納 6 var ChangeRow = change_cell.range.getRow(); 7 var ChangeColumn = change_cell.range.getColumn(); 8 9 var range = sheet.getRange(ChangeRow,ChangeColumn); 10 var input_value = range.getValue(); 11 if(input_value >= 100 && input_value <= 2400){ 12 range.setValue(numberToTime(input_value)); 13 } 14 return 0; 15}
試したこと
上3行目を、
var s = change_cell.source.getActiveSheet(); //編集したシート var r = change_cell.source.getActiveRange(); //編集したセル
に変えて実行してみたところ、「source」プロパティを読み取れませんと出ました。
GASの公式ドキュメントのonEdit()関数のページ(https://developers.google.com/apps-script/guides/triggers/events)を確認しましたが特段問題はないように思えます。
それともなにか使用において制限はあるのでしょうか。
GAS初心者なので基本的な部分が抜けているかもしれませんがどうぞよろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。