我已经尝试了尽可能多的组合。
我的目标是让 Google Apps 脚本运行 StandAlone 或从库中运行,并且能够在电子表格中设置命名范围。
尽我所能,setNamedRange()
方法仅在电子表格容器中可用,并且仅在您使用 SpreadsheetApp.getActiveSpreadsheet()
时可用。 .
我尝试使用 openById()
无济于事。该方法只是不可用。
以为我很聪明并尝试了 openById 然后 setActiveSpreadsheet。我不够聪明。
更新,我用 google-apps-script-issues http://code.google.com/p/google-apps-script-issues/issues/detail?id=1816 打开了问题 1816“对象变为全局,自动完成即使被删除也仍然存在”
相当有趣的行为。误导我问错误的问题
看起来是 GAS 编辑器中的一个错误。
最佳答案
以下函数演示了如何在独立脚本中设置命名范围。
function testNamedRange() {
var ss = SpreadsheetApp.openById('here is the spreadsheet id');
var range = ss.getRange('Sheet1!A1:B2');
ss.setNamedRange('TestRange', range);
var rangeCheck = ss.getRangeByName('TestRange');
var rangeCheckName = rangeCheck.getA1Notation();
}
rangeCheckName
变量包含 A1:B2
字符串。
关于google-apps-script - setNamedRange() 在电子表格容器之外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323961/