google-apps-script - 使用范围编辑触发器打开 Google 表格侧边栏?
问题描述
在工作表中编辑单元格时是否可以弹出侧边栏?下面的代码基于该触发器成功启动了一个警报框,但它不会使用侧边栏这样做......
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);
}
解决方案
推荐阅读
- django - Django NoReverseMatch:找不到带有参数'(1,)'的'blog_detail'的反向
- mysql - 未加载插件“my_root_password”
- python - 如何在 matplotlib 子图上打开刻度标签?
- python - (PyQt5) QThread 是一个抽象类吗?
- ios - 如何从模型数据 Swift 创建 JSON 字符串?
- scala - 在 http4s 的中间件中获取 cookie?
- html - WebP 图像类型未在 ios 设备 chrome 浏览器上显示
- python - 将带有内置 MySQL 函数的查询转换为 flask-sqlalchemy
- java - 尝试与端点通信时无法识别 WSDL 类型
- python - Dart 相当于 Python zip 和列表推导,用于从两个列表生成小部件列表