好吧,恐怕您不能,因为您的观察是正确的。
但是,如果您在主电子表格中使用第二张工作表和一个onEdit()
监视主工作表中活动单元格的触发器,则有一种可能的解决方法。然后,外部 webApp 可以非常简单地轮询第二张表上的值。
这是电子表格中的(简单)代码:
function onEdit(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = event.source.getActiveSheet();
var r = event.source.getActiveRange();
// if(sh.getName()!='main sheet'){return};
ss.toast('hi = '+r.getA1Notation()+'/'+sh.getName()+' value='+r.getValue());
var tracker = ss.getSheetByName('tracker sheet');
tracker.getRange(tracker.getLastRow()+1,1).setValue(r.getA1Notation());
Browser.msgBox('new')
}
一个简单的 webApp 显示如下结果:
function doGet(){
var targetId = '0AnqSFd3iikE3dFRqUFVMSjdiSU9EV1pGcG1hQ3FlT1E'
var sh = SpreadsheetApp.openById(targetId).getSheetByName('tracker sheet');
var cell = sh.getRange(sh.getLastRow(),1).getValue();
var html ="<!DOCTYPE html><body>Active Cell in your sheet is "+cell+"</body></html>";
return HtmlService.createHtmlOutput(html).setTitle('onEdit result')
}
一个测试表在这里(带有一个你可以写的“主表”和一个包含 A1 符号的“跟踪表”)并且附加到它的 webapp在这里
我添加了一个“toast”来监控 onEdit 功能,仅用于测试目的