TypeError : 정의되지 않은 onEdit @ macros.gs:6의 'source'속성을 읽을 수 없습니다. [duplicate]

Jan 16 2021

따라서 데이터 유효성 검사 "판매"를 사용하여 한 시트에서 다른 시트로 행을 이동하는이 코드가 있지만이 코드를 실행하려고하면 TypeError : Cannot read property 'source'of undefined onEdit @ macros.gs:6

    function onEdit(event) {
// assumes source data in sheet named Sheet1
// target sheet of move to named Sheet2
// test column with yes is col 6 or F
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();

if(s.getName() == "Pioneer Powersports" && r.getColumn() == 6 && r.getValue() == "Sold") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Sold Item");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}

답변

NikkoJ. Jan 16 2021 at 04:20

event함수 에 변수가 있다는 것은 트리거를 구현한다는 것을 의미합니다 . onEdit (e)가 작동하도록하려면 스프레드 시트에서 값을 변경해야합니다.

편집기에서 실행하면 이벤트 변수에 값이 전달되지 않아 'source'속성이 undefined가됩니다.

참고:

Google Apps Script 이벤트 개체

간단한 트리거