gpt4 book ai didi

google-apps-script - 使用 Google Web 应用程序扩展 Google 电子表格 UI

转载 作者:行者123 更新时间:2023-12-03 02:40:26 26 4
gpt4 key购买 nike

我为 Google 电子表格创建了一个脚本,该脚本只是添加了一个新的菜单项,如下所述 Custom Menu Items in a Spreadsheet 。然后我将此脚本部署为 Web 应用程序,并且希望所有安装该应用程序的用户都能够看到新的菜单项。我现在陷入困境。

据我了解,当您将脚本部署为 Web 应用程序时,onOpen 函数就失去了它的意义。因此,在 doGet 内部,我为 onOpen 事件创建自定义触发器,将 myOnOpen 处理程序附加到它,并在 myOnOpen 内部添加一个菜单项,但该项目没有显示。

这是我的代码:

function doGet() {
var newSheet = SpreadsheetApp.create("new sheet");
var newId = newSheet.getId();
ScriptProperties.setProperty('newId', newId);

ScriptApp.newTrigger("myOnOpen")
.forSpreadsheet(newId)
.onOpen()
.create();
};

function myOnOpen() {
var newId = ScriptProperties.getProperty('newId');
var sheet = SpreadsheetApp.openById(newId);

var entries = [ { name : "Show bingo", functionName : "Bingo" } ];
sheet.addMenu("My Menu", entries);
};

function Bingo() {
Browser.msgBox("Bingo!");
};

因此,当安装该应用的用户打开“新工作表”电子表格时,他不会看到“我的菜单”。我在这里做错了什么?为什么菜单项不显示?最终,我想创建一个 Web 应用程序,通过附加菜单和对话框扩展 Google Spreadsheets UI。

欢迎任何建议。谢谢!

最佳答案

当您将脚本部署为 Web 应用程序时,Web 应用程序的用户将只能看到您从 doGet 函数“返回”的内容。您可以使用 UiApp 创建内容或HtmlService并返回要在浏览器中呈现的内容。您的新菜单项附加到电子表格,因此只有当用户转到电子表格本身(激活 onOpen 触发器等)时才能显示它们。

关于google-apps-script - 使用 Google Web 应用程序扩展 Google 电子表格 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13921003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com