Google Spreadsheets (aplicativo-script) copiando uma linha de informações para outra planilha
Preciso, se alguma informação for inserida na coluna 5, copiar essa linha de dados para outra planilha. O primeiro if () na minha função é para outra coisa, ele classifica os dados quando qualquer informação é inserida na coluna 4, o que funciona, mas eu preciso que o outro if () funcione, mas não funciona, eu olhei outras perguntas, mas não consigo encontrar uma resposta que funcione na minha situação.
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);
}
}
}
Eu identifiquei que o problema é com as últimas três linhas dentro do segundo bloco. Parece que depois da linha "var values = rangeToBeMoved.getValues ();", o script pára de funcionar porque se eu colocar um Browser.msgBox ("hi") depois dessa linha ou em qualquer lugar antes, essa mensagem aparece, mas se eu colocá-lo após a próxima linha, não aparece. O problema é com o .openById ()? SOCORRO!