我正在尝试使用以下代码基于另一个电子表格验证员工:
function validation() {
var globals = SpreadsheetApp.openByUrl('https://docs.google.com/myurl');
var globalsheet = globals.getSheetByName('Employees');
var validate = SpreadsheetApp.newDataValidation();
var cell = SpreadsheetApp.getActive().getRange('A1:A');
var range = globalsheet.getRange('B1:B');
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(range).build()
cell.setDataValidation(rule);
}
我收到的错误消息是数据验证规则参数“= Employees!B1:B1000”无效。知道问题可能在哪里?在此先感谢您的帮助。
答案 0 :(得分:3)
Apps脚本和Google表格不允许您使用其他电子表格中的数据来定义数据验证。您获得的错误是Apps脚本在当前电子表格中查找“员工”的结果。表,没有找到它。
您可以使用Apps Script功能将数据复制到当前电子表格(如果要隐藏它,可能在另一个工作表或隐藏列中),然后设置,而不是尝试直接使用其他电子表格中的数据来自本地副本的数据验证。
如上所述,范围符号格式' A1:A'是有效的,可以毫无问题地在这里使用。