首页 > 解决方案 > 调用时不执行函数。没有调试错误

问题描述

当我打开 Google 表格时,它会调用我的“onOpen”函数。即使我在“onOpen”函数中调用了函数“ShowPGP”,但当我刷新页面时,它似乎并没有运行“ShowPGP”函数。当我运行脚本本身时,我没有收到任何错误。当我自己运行脚本时,它完全按照它应该做的。

function onOpen() {
createMenus();
sortSheets();
ShowPGP();
}

function ShowPGP() {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var PGPBlueColor = "#5b95f9"; 
for(var i =0; i<sheets.length; i++){
var color = sheets[i].getTabColor();
if(color == PGPBlueColor){
    if (sheets[i].isSheetHidden()) {
      sheets[i].showSheet();
    }
  }
}
for(var i =0; i<sheets.length; i++){
var color = sheets[i].getTabColor();
 if(color != PGPBlueColor){
   if (sheets[i].isSheetHidden()) {
    doNull();
   }
       else { 
      sheets[i].hideSheet();
       }
  }
}
}

标签: google-apps-scriptgoogle-sheets

解决方案


像 onOpen 这样的简单触发器以有限的权限运行。您的功能之一很可能试图做超出这些权限范围的事情。

请参阅此处记录的限制: https ://developers.google.com/apps-script/guides/triggers/#restrictions

并查阅https://script.google.com的“我的执行”部分了解更多详细信息。


推荐阅读