当用户从包含我要显示UiApp的笔记的电子表格单元格中删除值时。
在以下函数上设置onEdit触发器:
function showDialogue() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var r = ss.getActiveCell();
if (r.getValue() != '') return;
if (r.getValue() == '' && r.getComment() != '') {
var app = UiApp.createApplication();
var label = app.createLabel('If you can see this, it has worked correctly.');
app.add(label);
var button = app.createButton('Click to Close');
app.add(button);
var handler = app.createServerHandler('myClickHandler');
handler.addCallbackElement(label);
button.addClickHandler(handler);
r.setValue(r.getRow());
ss.show(app);
}
}
function myClickHandler(e) {
var app = UiApp.getActiveApplication();
app.close();
return app;
}
当我这样做时它工作正常但如果另一个用户打开了电子表格,则UiApp无法正常显示。 UiApp窗口打开但不显示任何窗口小部件,并打开“另存为”对话框,提示用户保存userAppPanel。
我在this simplified spreadsheet中复制了与拥有该链接的任何人共享的问题(可编辑)。