Google apps script 如何将google sheets宏设置为;OnEdit“;函数是否仅在一张图纸上运行?
我目前正在尝试制作一个预算支出跟踪程序,它会自动填充我跟踪的每次购买旁边的日期。第2页的设置是,c列是我添加费用的地方,B列是应该添加日期的地方。我当前使用的代码粘贴在下面Google apps script 如何将google sheets宏设置为;OnEdit“;函数是否仅在一张图纸上运行?,google-apps-script,google-sheets,triggers,Google Apps Script,Google Sheets,Triggers,我目前正在尝试制作一个预算支出跟踪程序,它会自动填充我跟踪的每次购买旁边的日期。第2页的设置是,c列是我添加费用的地方,B列是应该添加日期的地方。我当前使用的代码粘贴在下面 `function onEdit(e) { var row = e.range.getRow(); var dateCell = e.range.getSheet().getRange(row, 2); if (!dateCell.getValue()) { dateCell.setValue(new D
`function onEdit(e) {
var row = e.range.getRow();
var dateCell = e.range.getSheet().getRange(row, 2);
if (!dateCell.getValue()) {
dateCell.setValue(new Date()).setNumberFormat("MM/dd/YY");
}
}`
除了一件事,它在每个电子表格中都处于激活状态,而不仅仅是电子表格2。如何设置代码,使其仅在电子表格2中的另一列更改时运行
谢谢你为了让你的
onEdit(e)
触发器只在Sheet2
上工作,你应该添加一个if
条件,检查工作表的名称是否是你想要执行触发器的名称
假设图纸名称为“Sheet2”
,您可以尝试以下操作:
function onEdit(e) {
var sheet = e.range.getSheet();
if (sheet.getName() === "Sheet2") {
var row = e.range.getRow();
var dateCell = sheet.getRange(row, 2);
if (!dateCell.getValue()) {
dateCell.setValue(new Date()).setNumberFormat("MM/dd/YY");
}
}
}
参考