如何无需复制原项目为Google表格创建第二个容器绑定脚本?
容器绑定项目创建方法及报错解决
一、无需复制原项目创建新容器绑定项目的方法
直接按以下步骤操作即可:
- 打开目标Google表格,点击顶部菜单栏的「扩展程序」→「应用脚本」,进入当前表格绑定的脚本编辑器。
- 在编辑器左侧点击「项目设置」(齿轮图标),下拉到页面底部的「脚本项目设置」区域,找到「容器绑定项目」板块,点击「创建新项目」按钮,就能直接在当前表格容器下新增一个独立的绑定脚本项目,全程不需要复制原项目。
二、解决「Cannot call SpreadsheetApp.getUi() from this context」报错
这个报错的本质是SpreadsheetApp.getUi()只能在用户主动交互的上下文中使用,比如自定义菜单触发的函数、对话框/侧边栏的回调函数,如果在自动触发场景(如时间驱动触发器)、无权限的简单触发器(如默认的onOpen())或者直接在编辑器运行非交互函数时调用,就会触发该错误。具体解决方式如下:
- 如果是用来创建自定义菜单:
- 不要依赖默认的简单
onOpen()触发器,改成创建可安装的onOpen触发器:在脚本编辑器左侧点击「触发器」(时钟图标),点击「添加触发器」,选择菜单创建函数,事件源选「从电子表格」,事件类型选「打开时」,完成授权保存即可。
- 不要依赖默认的简单
- 如果是在自动执行的函数(如定时任务)中误调用了
getUi():
直接删除这部分代码,因为自动执行场景无法弹出UI界面,调用该方法没有意义。 - 确保调用
getUi()的函数是通过用户主动操作触发的:比如点击自定义菜单按钮、点击侧边栏的交互按钮,而非系统自动触发。
内容的提问来源于stack exchange,提问作者Cooper
相关产品推荐
相关产品推荐

