SetActiveSheet()不再有效

时间:2015-11-12 18:12:13

标签: google-apps-script google-sheets

我制作了一个电子表格,用作我公司的模板。过去6个月我们一直在使用这个模板,直到昨天。我有一个脚本,可以将您带到电子表格中的不同标签,直到昨天它一直很好用。

当我在goToSheet()函数上运行调试器时,收到以下错误消息:

"我们很抱歉,发生了服务器错误。请稍等一下再试一次。 (第3行,文件" goTo")解雇"

谷歌内部有什么变化,或者是否有更好的方法可以解决这个问题?

以下脚本与整个模板中的几个按钮绑定,并在其他一些脚本中调用。

function goToSheet(sheetName) {
  var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
  SpreadsheetApp.setActiveSheet(sheet);
}

function GotoPO2(){
  goToSheet('PO2');
} 
function GotoSpecialHandlingRequest(){
  goToSheet('Special Handling Request');
} 
function GotoProof(){
  goToSheet('Proof');
}
function GotoRFQ(){
  goToSheet('RFQ');
} 
function GotoBudget(){
  goToSheet('Budgt-Recnle_A');
}
function GotoPostagePO(){
  goToSheet('Postage PO');
}
function GotoPOCont(){
  goToSheet('PO Cont.');
}
function GotoPOCont2(){
  goToSheet('PO Cont.2');
}
function GotoVersion1(){
  goToSheet('Version 1 ');
}

谢谢任何帮助,非常感谢。

2 个答案:

答案 0 :(得分:0)

我最终找到了答案,这是一个已知问题,您可以看到here

问题是setActiveSheet()。

通过以上链接找到的解决方法,通过将SpreadsheetApp.setActiveSheet(sheet);替换为sheet.getRange("A1").activate();

,我能够成功适应我的脚本

答案 1 :(得分:0)

我注意到setActiveSheet()不能通过脚本UI运行。但是,如果您有一个使用function onOpen(e)指定的插件菜单,然后在工作表处于活动状态时调用它,则它可以工作。