1

我正在使用此代码为 Google 电子表格中的数组创建数据验证,但我不断收到一条错误消息,提示我无权调用 cell.setDataValidation ()。

var array = ["1", "2", "3", "4", "5", "6"]
var cell = SpreadsheetApp.getActive().getActiveCell();
var rule = SpreadsheetApp.newDataValidation().requireValueInList(array,    true).setAllowInvalid(false).build();

cell.setDataValidation(rule);

我做错了什么?

4

2 回答 2

1

对于原始海报来说有点晚了,但我自己也遇到了这个问题,并认为我会为其他人发布解决方案。打开您的电子表格并导航到tools > script manager您应该看到列出的脚本,突出显示它并按run。它应该警告您需要授予它运行权限。一旦你这样做,它应该在几秒钟后重新加载并正常工作。

于 2014-03-19T02:28:38.560 回答
0

代码没有问题。

function dataValidation() {
  var array = ['1', '2', '3', '4', '5', '6'];
  var cell = SpreadsheetApp.getActive().getActiveCell();
  var rule = SpreadsheetApp
             .newDataValidation()
             .requireValueInList(array, true)
             .setAllowInvalid(false)
             .build();
  cell.setDataValidation(rule);
}

在此处输入图像描述

它看起来像一个权限问题。添加代码的用户是电子表格的所有者吗?

于 2013-09-25T20:27:07.250 回答