2014-11-06 114 views
0

我正在使用以下腳本將基於狀態的行移動到同一電子表格中的多個選項卡。相反,剪切和粘貼到A,B和C選項卡,我想它來複制和粘貼行到命名爲A,B完全不同的電子表格和C.Google Apps腳本將行移動到另一個電子表格

function moveRows() { 

    var ss = SpreadsheetApp.getActive(); 
    var source = ss.getSheets()[0]; 
    var val = source.getDataRange() 
     .getValues(); 
    for (var row = val.length - 1; row >= 0; --row) { 
     if (val[row][23] == 'A') { 
      ss.getSheetByName('A') 
       .appendRow(val[row]); 
      source.deleteRow(parseInt(row) + 1); 
     } else if (val[row][23] == 'B') { 
      ss.getSheetByName('B') 
       .appendRow(val[row]); 
      source.deleteRow(parseInt(row) + 1); 
     } else if (val[row][23] == 'C') { 
      ss.getSheetByName('C') 
       .appendRow(val[row]); 
      source.deleteRow(parseInt(row) + 1); 
     } 
    } 
} 
+0

看看spreadsheetApp.openById。用javascript知識很容易做到。 – 2014-11-06 21:30:20

回答

1

所有你需要做額外的得到一個指向正確電子表格的指針。我假設您不知道他們的文檔ID(/d//edit之間的URL部分)。但是,您知道名稱是AB,依此類推。像這樣的代碼片段會給你一個指向正確的Sheets文檔的指針,假設只有一個文檔叫做A

var files = DriveApp.getFilesByName('A'); 
var file = files.next(); 
var id = file.getId(); 
var ss = SpreadsheetApp.openById(id); 

否則繼續像以前一樣,爲每個要複製到的文件執行一次。

相關問題