Как пользователь Serge insas ответил здесь ,
Диалоги пользовательского интерфейса не могут быть вызваны функциями, запускаемыми по времени, они должны запускаться пользователем действие, то есть нажатие на элемент меню или какую-то кнопку, вызывающую функцию, отображающую пользовательский интерфейс.
Как насчет вызова 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 () из этого контекста.
Что я делаю не так? Чего не хватает?