他のスプレッドシートの onEdit イベントから Google スプレッドシートに新しい値を設定しようとしています。例外が発生します: アクションは許可されていません。私が正しくないことを正確に理解することはできません。JS + Google Docs スクリプトの最初のステップを実行しているだけなので、ご協力いただければ幸いです。
function onEdit(e) {
if (e.value == "1")
updateValue(e);
else
Browser.msgBox("Type 1 in this cell");
}
function updateValue(curRange) {
//Get needed SpreadSheet ID and Cell Index (exp:D2) from current sheet
var ssCur = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ssCur.getSheets()[0];
var referenceID = sheet.getRange(curRange.range.getRow(), curRange.range.getColumn()+2).getValue();
var cellCoordinate = sheet.getRange(curRange.range.getRow(), curRange.range.getColumn()+3).getValue();
// Here still work good and get right values
Browser.msgBox(referenceID); //tracing string
try {
//Create remote spreadsheet object - this string catching Exception
var ss = SpreadsheetApp.openById(referenceID);
//Create workbook (sheet)
Browser.msgBox(ss.getName());
var sheets = ss.getSheets();
var sheet4Update = sheets[0].getRange(cellCoordinate).setValue('1');
}
catch(err) {
Browser.msgBox(err);
}
}