在工作表中编辑单元格时是否可以弹出侧栏?下面的代码基于该触发器成功启动了一个警告框,但使用侧边栏不会启动它。
从脚本编辑器的“运行功能”菜单中手动触发功能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);
}