[英]Auto Fill CheckBox as new row added - AppsScript / Google Sheets
我有以下代码。 它目前将复选框添加到 E3。 我想修改,以便在添加新行时向 E 列添加一个复选框。
function AddCheckBox(e) {
var spreadsheet = SpreadsheetApp.getActive();
var cell = SpreadsheetApp.getActive().getRange('E3');
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
cell.setDataValidation(rule);
}
我试过这个,但没有用:
spreadsheet.getActiveRange().autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
感谢任何帮助。
spreadsheet.getActiveRange().autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
. 由此,我像上面那样思考。a new row is added it
意味着将值放入单元格中。如果我的理解是正确的,这个答案怎么样? 请将此视为几种可能的答案之一。
在此模式中,使用活动范围。
运行此脚本时,会在活动范围行的“E”列中放置一个复选框。
function AddCheckBox(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Donations Received") // Modified
var activeRange = sheet.getActiveRange();
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
var range = sheet.getRange(activeRange.getRow(), 5);
range.clearContent();
range.setDataValidation(rule);
}
在此模式中,使用最后一行。
运行此脚本时,将在活动工作表最后一行的“E”列中放置一个复选框。
function AddCheckBox(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Donations Received") // Modified
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
var range = sheet.getRange(sheet.getLastRow(), 5);
range.clearContent();
range.setDataValidation(rule);
}
在这个模式中,它假设AddCheckBox(e)
被安装为 OnEdit 事件触发器的可安装触发器。
运行此脚本时,将在编辑行的“E”列中放置一个复选框。
function AddCheckBox(e) {
var range = e.range;
var sheet = range.getSheet();
if (sheet.getSheetName() == "Donations Received") { // Added
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
var range = sheet.getRange(range.getRow(), 5);
range.clearContent();
range.setDataValidation(rule);
}
}
range.clearContent();
,如果你不需要,请删除它。如果我误解了您的问题并且这不是您想要的结果,我深表歉意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.