Google Apps脚本数据验证码无效

时间:2017-01-18 07:25:39

标签: validation google-apps-script

您能帮忙获取代码的dataValidation部分吗?代码的所有其他部分都在工作,不幸的是只有dataValidation部分不起作用。

以下是代码: //“Ready Line”格式化第J列中的单词

     if (r.getColumn() == 10 && e.value == "A Ready Line") {
      sheet.getRange(r.getRow(),r.getColumn()).setBackgroundColor("#FFFF00");
      sheet.getRange(r.getRow(),r.getColumn()).setFontColor("#38761d");
      var rule = SpreadsheetApp.newDataValidation().requireValueInRange(['B Hold', 'C Confirm']).build();
      sheet.getRange(r.getRow(),r.getColumn()).setDataValidation(rule);
   // Timestamp column CG  
      sheet.getRange(r.getRow(),r.getColumn()+75).setValue(new Date());
   // Clear columns MtoAA,   
      sheet.getRange(r.getRow(),r.getColumn()+3,1,15).clearContent();
        }

1 个答案:

答案 0 :(得分:1)

您应该使用requireValueInList而不是requireValueInRange:

var rule = SpreadsheetApp.newDataValidation().requireValueInList(['B Hold', 'C Confirm']).build();

也折旧了setBackgroundColor。您也可以使用以下方法简化代码:

var rule = SpreadsheetApp.newDataValidation().requireValueInList(['B Hold', 'C Confirm']).build();

sheet.getRange(r.getRow(),r.getColumn())
  .setBackground("#FFFF00")
  .setFontColor("#38761d")
  .setDataValidation(rule);