【发布时间】:2020-01-27 15:13:13
【问题描述】:
作为用户 Serge insas 回答 here,
UI Dialogs 不能由时间触发函数调用,它们必须由用户操作触发,即单击菜单项或调用显示 UI 的函数的某种按钮。
从单元格调用 showSidebar() 或 showModalDialog() 怎么样?类似于下面的公式,当 A1 中的值大于 0 时应该自动打开侧边栏:
=if(A1>0;showSidebar();"nothing to show")
这可能吗?
这是我的脚本:
function onOpen() {
SpreadsheetApp.getUi().createAddonMenu().addItem('Open Beeper', 'openBig').addToUi();
}
function openBig() {
var htmlContent = HtmlService.createHtmlOutputFromFile('audioHtml').setTitle('Beeper');
SpreadsheetApp.getUi().showSidebar(htmlContent);
}
我可以通过单击插件菜单中的项目来打开侧边栏,但当我从单元格调用 openBig() 时,我收到以下错误:
无法从此上下文中调用 SpreadsheetApp.getUi()。
我做错了什么?缺少什么?
【问题讨论】:
-
不可能。自定义函数的权限/权限比时间触发器少得多
标签: javascript google-apps-script google-sheets-formula spreadsheet google-sheets-api