残念ながら、あなたの観察は正しいので、あなたはできません。
onEdit()
ただし、メイン スプレッドシートで 2 番目のシートを使用し、メイン シートのアクティブ セルを監視するトリガーを使用する場合は、回避策が考えられます。次に、外部 webApp は、この 2 番目のシートの値を非常に簡単にポーリングできます。
スプレッドシートの(単純な)コードは次のとおりです。
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はこちら
テスト目的でのみ onEdit 関数を監視する「トースト」を追加しました