Google Spreadsheets (app-script) копирует строку информации в другую электронную таблицу

Мне нужно, если какая-либо информация введена в столбец 5, скопировать эту строку данных в другую электронную таблицу. Первый if () в моей функции для чего-то другого, он сортирует данные, когда любая информация вводится в столбец 4, что работает, но мне нужно другое if () для работы, но это не так, я смотрел на другие вопросы, но я не могу найти ответ, который будет работать в моей ситуации.

function onEdit(event) {
  var sheet=event.source.getActiveSheet();
  var editedCell=sheet.getActiveCell();
  var columnToSortBy=4;
  var columnToArchive=5;
  var tableRange= "A2:F!";

  if(editedCell.getColumn() == columnToSortBy){
    var range=sheet.getRange(tableRange);
    range.sort( {column : columnToSortBy} );
  }
  else{
    if(editedCell.getColumn() == columnToArchive){
      var rowToBeMoved=editedCell.getRow();
      var rangeToBeMoved=sheet.getRange("A" + rowToBeMoved + ":F" + rowToBeMoved);
      var values=rangeToBeMoved.getValues();
      var archiveSpreadSheet=SpreadsheetApp.openById("0AroBvchobu2edHNXQ3ZUQjI5TWJtWWZwa1UtcExPNnc");
      var archiveSheet=archiveSpreadSheet.getSheetByName("archive");
      archiveSheet.appendRow(values);
    }
  }
}

Я определил, что проблема с последними тремя строками во втором блоке if. Кажется, что после строки «var values = rangeToBeMoved.getValues ();» сценарий перестает работать, потому что, если я поставлю Browser.msgBox («hi») после этой строки или где-нибудь до этого, появится это сообщение, но если я поставить его после следующей строки, он не появляется. Проблема в .openById ()? ПОМОГИТЕ!

Ответы на вопрос(1)

Ваш ответ на вопрос