使用onEdit添加复选框,将新行添加到电子表格-Apps脚本

时间:2020-01-15 07:13:52

标签: google-apps-script

我有以下脚本,该脚本在添加新数据行时添加时间戳。

function onEdit(e) {
var s = SpreadsheetApp.getActiveSheet();
if(s.getName() !== 'Sheet7' || e.range.columnStart != 1 || e.range.rowStart < 1) return;
e.range.offset(0, 1).setValue(e.value ? new Date() : "");
}

我尝试了以下添加复选框的方法,但不起作用。

function AddCheckBox() {
var cell = SpreadsheetApp.getActive().getDataRange('A1:B');
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation()
.requireCheckbox()
.build();
cell.setDataValidation(rule);
}

我希望它还在时间戳显示位置旁边的列中添加一个复选框。

预先感谢

1 个答案:

答案 0 :(得分:0)

如果有人感兴趣,我就算出来

function onEdit(e) {
var s = SpreadsheetApp.getActiveSheet();
if(s.getName() !== 'TEST' || e.range.columnStart != 1 || e.range.rowStart < 1) 
return;
e.range.offset(0, 1).setValue(e.value ? new Date() : "");
var spreadsheet = SpreadsheetApp.getActive();
var cell = SpreadsheetApp.getActive().getRange('C1');
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation()
.requireCheckbox()
.build();
 cell.setDataValidation(rule);
 var spreadsheet = SpreadsheetApp.getActive();
 spreadsheet.getRange('C1').activate();   
 spreadsheet.getCurrentCell()
 .getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
  spreadsheet.getActiveRange()
 .autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
  spreadsheet.getRange('A1').activate();
  }