Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 从GoogleSheets按钮调用脚本函数(在GoogleDrive的.gs文件中编写)_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 从GoogleSheets按钮调用脚本函数(在GoogleDrive的.gs文件中编写)

Google apps script 从GoogleSheets按钮调用脚本函数(在GoogleDrive的.gs文件中编写),google-apps-script,google-sheets,Google Apps Script,Google Sheets,我希望不同的用户能够编辑我的谷歌工作表和我的脚本 根据答案,我在Google drive中创建了一个脚本文件,并使用它成功地操作Google工作表中的数据 但是,我希望用户能够通过单击按钮从Google工作表中调用脚本函数。当我将脚本函数名分配给工作表中的按钮时,出现“脚本函数testFunction找不到”错误 更新 我已将以下脚本附加到我的按钮: function runTest(){ TestScript.testFunction() } TestScript是独立脚本项目的名称。但

我希望不同的用户能够编辑我的谷歌工作表和我的脚本

根据答案,我在Google drive中创建了一个脚本文件,并使用它成功地操作Google工作表中的数据

但是,我希望用户能够通过单击按钮从Google工作表中调用脚本函数。当我将脚本函数名分配给工作表中的按钮时,出现“脚本函数testFunction找不到”错误

更新 我已将以下脚本附加到我的按钮:

function runTest(){
  TestScript.testFunction()
}

TestScript是独立脚本项目的名称。但是,当我按下按钮时,我得到了“Reference error:TestScript not defined”(引用错误:TestScript not defined)。

为了在电子表格脚本中使用未绑定到电子表格的脚本函数,您应该使用

为此,请执行以下步骤:

  • 在将运行该功能的脚本中(即未绑定的电子表格外部脚本),转到菜单栏,选择File->Manage versions,并创建具有所需标题的新版本

  • 然后,在同一脚本中,转到文件->项目属性并复制
    脚本ID

  • 转到电子表格的绑定脚本(这是具有按钮将触发的功能的脚本),然后在菜单栏中指向Resources->Libraries,插入
    脚本ID
    ,选择最新版本并为库指定一个本地使用的名称(例如,如果将其设置为
    Test
    ,您将使用
    Test.myFunction();
    调用其函数

  • 请记住将绑定脚本函数指定给工作表中的按钮


  • 如果你想运行另一个项目中的脚本,你必须使用Google app script advanced API来使用该脚本,因为库包含在你的指示中?因此,当我从按钮运行该函数时,我必须接受通常的权限,并且没有收到任何错误。你的单独脚本中要求这些权限的代码是什么?在我的环境中,按钮可以正常工作,我不必使用自定义菜单。您如何创建此按钮并将其链接到脚本?您如何将按钮链接到电子表格的脚本?在我的示例中,我执行了以下操作:在菜单栏中,我选择了插入->绘图,矩形形状,添加后,我有了链接通过选择Assign script,然后添加我的绑定脚本函数名(在我的例子中是
    myFunction
    ),我对它进行了测试这对我来说也很好。你是否在任何脚本中专门设置了任何作用域?你是否使用了触发器?谢谢你的帮助。我解决了问题。我的用户不是电子表格文件的所有者。我制作了一个新的电子表格文件,代码工作得很好。如果你知道从工作表中调用独立脚本的方法该用户不是编辑器的所有者,请共享。