Можно ли открыть боковую панель при редактировании ячейки на листе?Приведенный ниже код успешно запускает окно предупреждения, основанное на этом триггере, но не будет делать это с боковой панелью ...
Функция showSidebar()
прекрасно работает при ручном запуске из меню «Выполнить функцию» в редакторе сценариев.
Я подозреваю, что это может быть ограничение HtmlService, так как замена кода showAlert()
, приведенного ниже, на код, использующий HtmlService, также заставит его перестать отвечать на триггеры onEdit ...
function onEdit(event) {
testTrigger();
}
function testTrigger() {
var sheet = SpreadsheetApp.getActiveSheet();
var editRange = sheet.getActiveRange();
var editRow = editRange.getRow();
var editCol = editRange.getColumn();
var range = sheet.getRange("C3:C");
var rangeRowStart = range.getRow();
var rangeRowEnd = rangeRowStart + range.getHeight()-1;
var rangeColStart = range.getColumn();
var rangeColEnd = rangeColStart + range.getWidth()-1;
if (editRow >= rangeRowStart && editRow <= rangeRowEnd && editCol >= rangeColStart && editCol <= rangeColEnd) {
showAlert(); // will work
showSidebar(); // will NOT work
}
}
function showAlert() {
var ui = SpreadsheetApp.getUi();
var result = ui.alert(
'title',
'message',
ui.ButtonSet.OK);
}
function showSidebar() {
var html = HtmlService.createHtmlOutput('Page')
.setTitle('My custom sidebar')
.setWidth(300);
SpreadsheetApp.getUi().showSidebar(html);
}