TypeError:未定義のonEdit @ macros.gs:6 [重複]のプロパティ「ソース」を読み取れません

Jan 16 2021

したがって、データ検証「Sold」を使用して行をあるシートから別のシートに移動するこのコードがありますが、このコードを実行しようとすると、TypeError:Undefined onEdit @ macros.gs:6のプロパティ「source」を読み取れませんと表示されます。

    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になります。

参照:

GoogleAppsスクリプトイベントオブジェクト

単純なトリガー