脚本中的数据验证,但使用命名范围

时间:2018-04-19 13:08:23

标签: javascript google-apps-script google-sheets

我试图找到一种方法来添加带有命名范围名称的 DataValidation 作为" Range"值。在 requireValueInRange 中使用 getRangeByName 为我提供了" A1:A50 "而我需要找到一种方法来放置" SampleRange " (它是范围名称)在它的位置。可以手动完成,但我有300行逐个更新,我需要一种方法来自动化它。

function ValidationNamedRange() {
    var NameSpace = "SampleRange";
    var rule = SpreadsheetApp.newDataValidation().requireValueInRange(NameSpace).build();
    range.setDataValidation(rule);
  }
}

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  

GetRangeByName将范围输出为A1表示法

这是错误的。除了正确的语法是getRangeByName()之外,此方法还返回一个Range对象。

示例

以下内容将向指定的命名范围添加数据验证。

  1. 首先创建一个命名范围,并将其名称设置为NamedRange1
  2. 执行以下脚本

    function myFunction() {
      var name = 'NamedRange1';
      var rng = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(name);
      var rule = SpreadsheetApp.newDataValidation().requireNumberBetween(5, 10).build();
      rng.setDataValidation(rule);
    }