1

他のスプレッドシートの 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);
  }
}
4

2 に答える 2

0

ドキュメントのUnderstanding Triggers、特にSimple Triggersの制限を確認してください。

 ...
  • 含まれているドキュメントのみを変更できます。他の文書へのアクセスは禁止されています。
于 2013-10-15T14:05:32.333 に答える