Google sheets 代码中的数据验证(谷歌表单)
我有以下在“onEdit”触发器上运行的脚本(该部分工作正常) 大部分代码来自于问题的答案。问题是Google sheets 代码中的数据验证(谷歌表单),google-sheets,validation,Google Sheets,Validation,我有以下在“onEdit”触发器上运行的脚本(该部分工作正常) 大部分代码来自于问题的答案。问题是 dv.setCriteria(SpreadsheetApp.DataValidationCriteria.ITEM_IN_LIST,true,option ); 这行代码不起作用,编译器甚至不让我保存它。在我环顾四周的原因中,谷歌似乎已经改变了它的处理方式,并将他们关于它的文档离线。有人能帮我把这件事做好吗?是的,好像有些事情改变了 试试看: function onEdit() { var
dv.setCriteria(SpreadsheetApp.DataValidationCriteria.ITEM_IN_LIST,true,option );
这行代码不起作用,编译器甚至不让我保存它。在我环顾四周的原因中,谷歌似乎已经改变了它的处理方式,并将他们关于它的文档离线。有人能帮我把这件事做好吗?是的,好像有些事情改变了 试试看:
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var myRange = SpreadsheetApp.getActiveRange();
if(sheet.getName() == "Plan" && myRange.getColumn() == 2 && myRange.getRow() > 3){
var option = new Array();
option[0]="0";
option[1]="1";
option[2]="2";
// var dv = sheet.getRange(myRange.getRow(),myRange.getColumn() + 1).getValidation();
var dv = sheet.getRange(myRange.getRow(),myRange.getColumn() + 1).getDataValidation();
var dv = SpreadsheetApp.newDataValidation();
// dv.setAllowInvalidData(false);
dv.setAllowInvalid(false);
dv.setHelpText("Some help text here");
dv.requireValueInList(option, true);
// dv.setCriteria(SpreadsheetApp.DataValidationCriteria.ITEM_IN_LIST,true,option );
// sheet.getRange(myRange.getRow(),myRange.getColumn() + 1).setValidation(dv);
sheet.getRange(myRange.getRow(),myRange.getColumn() + 1).setDataValidation(dv.build());
}
}
工作得很有魅力!你是不是在脑子里就知道了,还是在我没看到的地方找到了一些文件?谢谢我已经做过类似的事情了,但我真的不记得我是怎么做的,所以我把你的代码放在GAS编辑器中,玩了一点自动完成:D
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var myRange = SpreadsheetApp.getActiveRange();
if(sheet.getName() == "Plan" && myRange.getColumn() == 2 && myRange.getRow() > 3){
var option = new Array();
option[0]="0";
option[1]="1";
option[2]="2";
// var dv = sheet.getRange(myRange.getRow(),myRange.getColumn() + 1).getValidation();
var dv = sheet.getRange(myRange.getRow(),myRange.getColumn() + 1).getDataValidation();
var dv = SpreadsheetApp.newDataValidation();
// dv.setAllowInvalidData(false);
dv.setAllowInvalid(false);
dv.setHelpText("Some help text here");
dv.requireValueInList(option, true);
// dv.setCriteria(SpreadsheetApp.DataValidationCriteria.ITEM_IN_LIST,true,option );
// sheet.getRange(myRange.getRow(),myRange.getColumn() + 1).setValidation(dv);
sheet.getRange(myRange.getRow(),myRange.getColumn() + 1).setDataValidation(dv.build());
}
}