只要編輯了E 列(因此,陣列 [4])中的任何單元格,就會運行下面的腳本。并且它的唯一目的是向已編輯的行的后續空單元格添加一些附加資訊。但是,我的腳本并不僅僅將這些資訊添加到同一行中的下一個空單元格,而是重新設定所有后續單元格的值,即使這些后續單元格中已經有每個值。有人可以告訴我我在這里做錯了什么以及如何解決嗎?很明顯我在IF 陳述句中做錯了什么,但老實說我不知道??那可能是什么:(
非常感謝您的幫助和提示!!!
這是腳本:
function addAdditionalInfo() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('SHEET_ID');
var data = s.getDataRange().getValues();
var data_len = data.length;
for (var i = 0; i < data_len; i ) {
if (data[i][4] == "COMPLETED") {
s.getRange(i 1, 6).setValue("name");
s.getRange(i 1, 7).setValue("street");
s.getRange(i 1, 8).setValue("street number");
s.getRange(i 1, 9).setValue("zip code");
s.getRange(i 1, 10).setValue("country");
s.getRange(i 1, 11).setValue("maternal language");
s.getRange(i 1, 12).setValue("second language");
s.getRange(i 1, 13).setValue("-");
}
else if (data[i][4] == "APPROVAL") {
s.getRange(i 1, 6).setValue("name of supervisor)");
s.getRange(i 1, 7).setValue("email of supervisor");
s.getRange(i 1, 8).setValue("tel of supervisor");
s.getRange(i 1, 9).setValue("maternal language of supervisor");
s.getRange(i 1, 10).setValue("second language of supervisor");
s.getRange(i 1, 11).setValue("assistant of the supervisor");
s.getRange(i 1, 12).setValue("status of the approval process");
s.getRange(i 1, 13).setValue("approval due date");
}
}
}
這是觸發器:
// The trigger is any manual change done in Column E, starting at row 3 of that column
function onEdit(e) {
if (
e.source.getSheetName() == "SHEET_ID" &&
e.range.columnStart == 5 &&
e.range.columnEnd == 5 &&
e.range.rowStart >= 3 &&
e.range.rowEnd <= 3000
) {
addAdditionalInfo()
}
}
uj5u.com熱心網友回復:
將資料添加到您所在的行將限制范圍
嘗試遍歷整個作業表是一個壞主意,因為此腳本將在 30 秒后達到最大值。
在我的測驗中,我使用串列在第 5 列中進行了驗證 COMPLETED,APPROVAL
function onEdit(e) {
e.source.toast('entry')
const sh = e.range.getSheet();
if (sh.getName() == 'Sheet0' && e.range.columnStart == 5 && e.range.rowStart > 2) {
e.source.toast('completed');
if (e.value == "COMPLETED") {
sh.getRange(e.range.rowStart, 6, 1, 8).setValues([["name", "street", "street number", "zip code", "country", "maternal language", "second language", "-"]]);
}
if (e.value == "APPROVAL") {
e.source.toast('approval')
sh.getRange(e.range.rowStart, 6, 1, 8).setValues([["name of supervisor", "email of supervisor", "tel of supervisor", "maternal language of supervisor", "second language of supervisor", "assistant of the supervisor", "status of the approval process", "approval due date"]]);
}
}
}
表 0:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/351176.html
上一篇:帶有多個條件的IIfAnd陳述句
