当前位置: 代码迷 >> JavaScript >> Google脚本外部电子表格数据验证
  详细解决方案

Google脚本外部电子表格数据验证

热度:31   发布时间:2023-06-12 14:04:38.0

我对使用Google脚本针对另一个Google Spreadsheet自动对一个Google Spreadsheet进行数据验证进行了研究。 我似乎找不到使用openById方法引用另一个电子表格范围的方法。 有什么想法吗?

 function externalSheetDataValidation() { var cell = SpreadsheetApp.getActiveRange(); //var dataValidationSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("dataValidationRules"); //var dataValidationSheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/10Z2s1bSRIhZzBBrMfPmhEphnPx-kJdV3LLlbv0L59g8/edit#gid=0"); var dataValidationSheet = SpreadsheetApp.openById("10Z2s1bSRIhZzBBrMfPmhEphnPx-kJdV3LLlbv0L59g8"); var sheet = dataValidationSheet.getSheets()[0]; var range = SpreadsheetApp.getActiveSheet().getRange("A3:A4"); var rule = SpreadsheetApp.newDataValidation() .requireValueInRange(range, true) .setAllowInvalid(false) .build(); cell.setDataValidation(rule); Logger.log(dataValidationSheet.getName()); } 

如果我理解正确,那么您遇到的问题是从外部电子表格中选择数据范围? 我假设dataValidationSheet应该是外部工作表。 看来您在正确的轨道上。 看来问题在于,您希望工作表一旦被抓住就可以被激活。 尝试以下更改: var range = sheet.getRange("A3:A4");
当前,您正在抓取外部工作??表,但是从已经处于活动状态的工作表中获取范围。 希望这会有所帮助!

  相关解决方案