【发布时间】:2015-08-24 17:37:45
【问题描述】:
我是 Google-apps-script 的新手,非常感谢您对这个问题的帮助:
我有一个函数“Brownformat()”,我从执行以下代码的侧边栏调用它:
代码.gs
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Custom Menu')
.addItem('Custom Sidebar', 'showSidebar')
.addToUi();
showSidebar()
}
function showSidebar() {
var html = HtmlService.createHtmlOutputFromFile('Page')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('Sidebar')
.setWidth(300);
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.showSidebar(html);
}
function Brownformat() {
SpreadsheetApp.getActiveRange().setBackground("#e1b99c");
}
页面.html
<p>Brown Group</p>
<input type="button" value="" style="background-color:#e1b99c; color:#f00;"
onclick="google.script.run.Brownformat()" />
基本上,此功能通过单击侧边栏上的按钮将当前单元格的背景颜色更改为棕色。
此功能在您登录后完美运行,但不适用于匿名用户。
我了解到您需要将代码发布为 Web 应用程序才能解决此问题,并使用特殊的回调函数。
谁能告诉我如何为上面显示的代码实现这个回调函数?
谢谢。
查洛
【问题讨论】:
-
澄清一下,因为您甚至无法为匿名用户显示侧边栏(或添加菜单或在图像中单击处理程序等)。那是您的问题,而不是功能本身不起作用,对吗?
-
Zig,没错,但我的印象是,为了制作一个 Web 应用程序,需要使用回调函数来定义函数。不仅是 Brownformat 功能,而且就像您说的那样,还有显示侧边栏和自定义菜单的功能。谢谢。
-
是的,来自 onOpen 等简单的触发器
-
Zig,我编辑了我的原始帖子以包含触发器。基本上我希望这段代码也能够为匿名用户运行。 rigth 现在仅适用于注册用户。谢谢。
标签: google-apps-script google-sheets