扩展谷歌电子表格的用户界面与谷歌的Web应用程序(Extend Google Spreadsheet

2019-07-05 15:06发布

我创建了谷歌电子表格的脚本,该脚本只是增加了这里所描述的新菜单项自定义菜单项在电子表格中 。 然后,我部署此脚本的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应用程序延伸谷歌电子表格的用户界面与其他菜单和对话框。

任何意见是值得欢迎的。 谢谢!

Answer 1:

在部署脚本作为一个Web应用程序,Web应用程序的用户将只能看到你的内容从功能的doGet“回归”。 您可以通过创建内容了UiApp或HtmlService并返回该内容在浏览器中呈现。 你的新的菜单项连接到一个电子表格,所以当用户进入到电子表格本身(激活的OnOpen触发等),它们只能被显示。



文章来源: Extend Google Spreadsheets UI with a Google Web App