首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在单击“外接程序”的下拉列表之前,无法识别自定义函数。

在单击“外接程序”的下拉列表之前,无法识别自定义函数。
EN

Stack Overflow用户
提问于 2022-08-10 15:19:48
回答 2查看 113关注 0票数 -1

我遇到了一个奇怪的问题。每当我打开一个新文件,我的Google工作表外接程序的自定义函数就不会被识别(它显示#NAME?;未知函数)。

在我的加载项,我有一些代码,创建加载项下拉菜单在打开。在菜单中,用户可以选择显示侧边栏、刷新所有工作表、查看文档等。当他们单击菜单栏中的任何选项时,自定义函数立即被识别并正常运行,不会出错。

我认为Google只在用户启动我的外接程序时才会识别我的自定义函数(点击我的“外接程序”下拉菜单中的任何内容)。是否有任何方法可以让Google在打开时识别我的自定义功能,而不必单击菜单栏中的任何内容。

感谢你的帮助

EN

回答 2

Stack Overflow用户

发布于 2022-08-10 16:46:58

应在每个电子表格上激活加载项,然后才能在其上使用.这不能自动完成,所以您应该告诉您的用户,为了能够使用加载项自定义函数,他们应该激活加载项。

为了避免有#的名字?错误,可以使用IFERROR,即

代码语言:javascript
运行
复制
=IFERROR(myFunction(),"Please activate the add-on")

资源

票数 1
EN

Stack Overflow用户

发布于 2022-08-10 17:11:05

在您的应用程序脚本中添加一个onOpen(e)触发器应该允许您在用户身份验证之前预先加载自定义菜单选项。

代码语言:javascript
运行
复制
var menu = SpreadsheetApp.getUi().createAddonMenu();
if (e && e.authMode == ScriptApp.AuthMode.NONE){
 // Add a normal menu item (works in all authorization modes).
menu.addItem('Start workflow', 'startWorkflow');

如果安装了外接程序,但没有启用,您的onOpen函数将使用AuthMode.NONE运行,这可能就是应用程序被用户安全设置阻塞的原因。请参考编辑器附加授权文档的Apps脚本来确认您的auth状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73308839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档