我创建了一个 GUI 应用程序,允许用户提交数据并将数据写入电子表格。此电子表格具有可见性选项:“知道链接的任何人”和“可以编辑”权限。
此外,每次进行更改时都应执行 onEdit() 触发器。将数据写入电子表格没有问题,但触发器不起作用。
你能在这件事上帮助我吗?
提前谢谢了。
我创建了一个 GUI 应用程序,允许用户提交数据并将数据写入电子表格。此电子表格具有可见性选项:“知道链接的任何人”和“可以编辑”权限。
此外,每次进行更改时都应执行 onEdit() 触发器。将数据写入电子表格没有问题,但触发器不起作用。
你能在这件事上帮助我吗?
提前谢谢了。
仅当您手动更改表的内容时才会执行 onEdit 触发器。
您可以创建通用函数并从 UiApp 调用它并执行 onEdit:
function edit(str){ //general onedit function
//do somethig (For example add " edited")
var cell = SpreadsheetApp.getActiveSheet().getActiveCell();
cell.setValue(str + ' edited');
}
function onEdit(){
var str = SpreadsheetApp.getActiveSheet().getActiveCell().getValue();
edit(str);
}
function gui(){
var app = UiApp.createApplication();
var tb = app.createTextBox().setName('tb');
var hndlr = app.createServerHandler('onSend').addCallbackElement(tb);
var btn = app.createButton('Send').addClickHandler(hndlr);
SpreadsheetApp.getActiveSpreadsheet().show(app.add(tb).add(btn));
}
function onSend(e){
var str = e.parameter.tb;
edit(str);
}
对不起我的英语不好=)