Google apps script 从另一个函数调用脚本函数

Google apps script 从另一个函数调用脚本函数,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我在同一个脚本中创建了两个函数,如果“main Stage”页面上的单元格“N1”被写为“Ok”,我希望第二个激活主函数 在尝试激活时,它会出现在电子表格中→ 您没有设置值所需的权限(第10行)。据我所见,我无法直接从电子表格单元格激活我的函数 如何解决此问题?当您想在CallFunction()函数中运行mainffunction()函数时,请修改如下。这样,就可以运行MainFunction() 发件人: 致: 注: 当使用=MainFunction()时,不幸的是,setValue()不

我在同一个脚本中创建了两个函数,如果“main Stage”页面上的单元格“N1”被写为“Ok”,我希望第二个激活主函数

在尝试激活时,它会出现在电子表格中→ 您没有设置值所需的权限(第10行)。据我所见,我无法直接从电子表格单元格激活我的函数


如何解决此问题?

当您想在
CallFunction()
函数中运行
mainffunction()
函数时,请修改如下。这样,就可以运行
MainFunction()

发件人: 致: 注:
  • 当使用
    =MainFunction()
    时,不幸的是,
    setValue()
    不能用于自定义函数

如果将
=MainFunction()
放入单元格时发生错误,很遗憾,自定义函数无法使用
setValue()
。需要使用其他方法和/或解决方法。那么,您能否提供
=MainFunction()
?@Tanaike有没有办法直接在脚本上激活函数MainFunction(),而不是通过电子表格键入它?谢谢您的回复。虽然我不确定是否能正确理解您回复的
active
,但当您想要运行
MainFunction()
的函数时,例如,修改
spreadsheet.getCurrentCell().setFormula('=MainFunction()')
MainFunction()
?@Tanaike我真不敢相信事情会这么简单。谢谢,我并没有真正停下来想象简单地编写函数就可以被激活。我非常感谢你,很抱歉我花了你的时间做了这么简单的事情。我希望我没有打扰你。@Tanaike我不能将你的评论标记为解决问题的评论。我想把你标记为案例解决者,但它不起作用。我只需要指出你的评论是有帮助的。

function CallFunction() {
  var spreadsheet = SpreadsheetApp.getActive();

  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Main Stage');
  var rg=sh.getRange("N1");
  var vA=rg.getValues();
  if (vA[0][0]=="Ok"){

  spreadsheet.getRange('Activate!A1').activate();
  spreadsheet.getCurrentCell().setFormula('=MainFunction()');
}

spreadsheet.getCurrentCell().setFormula('=MainFunction()');
MainFunction();