将 Apps 脚本函数应用于 Google 个工作表中的其他行
Apply Apps Script Function to Other Rows in Google Sheets
我只是想知道是否有人会就如何将脚本中的函数应用到 sheet 中的其他行向我提出建议。
基本上我有一个脚本,当用户将复选框设为“TRUE”时,它会将一个包含日期的单元格复制到另一个单元格。它在我的测试行上运行良好,但我不确定如何将其应用于其余行。
我在想我需要循环遍历其他行或应用 getLastRow 函数,还是将其应用于整个 sheet 减去顶行....我已经结束了认为自己对可能非常简单的事情感到困惑。
google 脚本的新手,是否有针对此类事物的最佳实践?
这是我的函数:
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSheet();
var date = new Date( ss.getRange(2,7).getValue());
if (e.range.columnStart != 1 || e.value != "TRUE") return;
ss.getRange(2,4).setValue(new Date(date.setDate(date.getDate())));
}
这是我的第一个剧本所以不会太苛刻 ;)
谢谢,
建议:
您可以通过使用 e.range.rowStart
:
获取当前选定的行来尝试此实现
function onEdit(e) {
var ss = e.source.getActiveSheet();
var date = new Date(ss.getRange(e.range.rowStart,7).getValue());
if (e.range.columnStart != 1 || e.value != "TRUE") return;
ss.getRange(e.range.rowStart,4).setValue(new Date(date.setDate(date.getDate())));
}
示例演示:
我只是想知道是否有人会就如何将脚本中的函数应用到 sheet 中的其他行向我提出建议。
基本上我有一个脚本,当用户将复选框设为“TRUE”时,它会将一个包含日期的单元格复制到另一个单元格。它在我的测试行上运行良好,但我不确定如何将其应用于其余行。
我在想我需要循环遍历其他行或应用 getLastRow 函数,还是将其应用于整个 sheet 减去顶行....我已经结束了认为自己对可能非常简单的事情感到困惑。
google 脚本的新手,是否有针对此类事物的最佳实践?
这是我的函数:
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSheet();
var date = new Date( ss.getRange(2,7).getValue());
if (e.range.columnStart != 1 || e.value != "TRUE") return;
ss.getRange(2,4).setValue(new Date(date.setDate(date.getDate())));
}
这是我的第一个剧本所以不会太苛刻 ;) 谢谢,
建议:
您可以通过使用 e.range.rowStart
:
function onEdit(e) {
var ss = e.source.getActiveSheet();
var date = new Date(ss.getRange(e.range.rowStart,7).getValue());
if (e.range.columnStart != 1 || e.value != "TRUE") return;
ss.getRange(e.range.rowStart,4).setValue(new Date(date.setDate(date.getDate())));
}