TypeError: ไม่สามารถอ่านคุณสมบัติ 'source' ของ onEdit @ macros.gs:6 ที่ไม่ได้กำหนด [ซ้ำกัน]
ดังนั้นฉันจึงมีรหัสนี้เพื่อย้ายแถวจากแผ่นงานหนึ่งไปยังอีกแผ่นหนึ่งด้วยการตรวจสอบข้อมูล "ขายแล้ว" แต่เมื่อฉันพยายามรันโค้ดนี้มันขึ้นว่า 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.
มีevent
ตัวแปรในการทำงานของคุณหมายความว่าคุณมีการดำเนินการทริกเกอร์ เพื่อให้ onEdit (e) ใช้งานได้คุณต้องเปลี่ยนค่าในสเปรดชีตของคุณ
หากคุณเรียกใช้บนตัวแก้ไขจะไม่มีการส่งต่อค่าในตัวแปรเหตุการณ์ซึ่งทำให้คุณสมบัติ 'แหล่งที่มา' ของไม่ได้กำหนด
อ้างอิง:
วัตถุเหตุการณ์ Google Apps Script
ทริกเกอร์ง่ายๆ