2017-08-18 60 views
-1

我想將多個谷歌牀單合併成一個主表。將會有大約30張需要合併的工作表。他們將被保存在同一個文件夾中。該信息是我大樓所有學生的通話記錄。我需要他們合併成一張表格來監測進展情況並提供全校分析。請幫忙。另外,我對編碼還不熟悉。謝謝。合併多個谷歌牀單到腳本編輯器的主工作表

+0

歡迎堆棧溢出!不幸的是,你的問題只包含需求 - 它並沒有顯示你方的努力來解決這個問題。請將您的嘗試加入這個問題 - 因爲本網站不是免費的「我們做您的(家)工作」服務。除此之外:請轉到[幫助]瞭解如何/在這裏問什麼。謝謝! – GhostCat

+0

感謝您的歡迎,並且我對不遵守問題要求表示歉意。除了打開腳本編輯器並嘗試查找可以工作的代碼之外,我的嘗試是最小的。我不認爲這是一個免費的「我們做你的工作」服務網站,而是一個可能提供了一些指導的地方。我會嘗試一些東西,重新發布,希望有人能幫助我。 –

+0

是否所有表格的格式完全相同? – Cooper

回答

0

這是我爲別人做的合併示例。您可以通過添加到靠近頂部的陣列來添加要合併的工作表。它創建一個名爲themotherofallsheets的表單 - yyyyMMddHHmm。最有可能的是,你會想要對此進行改進,也許需要對最終結果進行排序。

function concatAllSheets() 
{ 
    var includedSheet=['Sheet1','Sheet2','Sheet3']; 
    var ss=SpreadsheetApp.getActive(); 
    var allSheets=ss.getSheets(); 
    var sheetName='motherofallsheets-' + Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyyMMddHHmm") 
    var mother=ss.insertSheet(sheetName); 
    for(var i=0;i<allSheets.length;i++) 
    { 
    var sht=allSheets[i]; 
    if(includedSheet.indexOf(sht.getName())>-1) 
    { 
     var rng=sht.getDataRange(); 
     var rngA=rng.getValues(); 
     for(var j=0;j<rngA.length;j++) 
     { 
     var row=rngA[j]; 
     mother.appendRow(row); 
     } 
    } 
    } 
} 

這是我掛代碼:

function myFunction() 
{ 
    var myFolder = DriveApp.getFolderById("0B0kQD4hSd4KASUJKb2cya0NET1U"); 
    var spreadSheets = myFolder.getFilesByType("application/vnd.google-apps.spreadsheet"); 
    var newSpreadSheet = SpreadsheetApp.create("Merged Sheets"); 
    while(spreadSheets.hasNext()) 
    { 
    var sheet = spreadSheets.next(); 
    var spreadSheet = SpreadsheetApp.openById(sheet.getId()); 
    for(var y in spreadSheet.getSheets()) 
    { 
     spreadSheet.getSheets()[y].copyTo(newSpreadSheet); 
    } 
    }  
} 
+0

這是我目前所在的地方。我有一個問題函數mergeSheets(){var myFolder = DriveApp.getFoldersByName(SOURCE).next(); var spreadSheets = myFolder.getFilesByType(application/vnd.google-apps.spreadsheet); var newSpreadSheet = SpreadsheetApp.create(Sandbox); (spreadSheets.hasNext()){ var sheet = spreadSheets.next(); var spreadSheet = SpreadsheetApp.openById(sheet.getId()); for(var in spreadSheet.getSheets()){ spreadSheet.getSheets()[y] .copyTo(newSpreadSheet); } } –

+0

[這看起來像它可能正是你所需要的](https://stackoverflow.com/a/20620114/7215091)。 – Cooper

+0

我收到以下錯誤。在參數列表後面缺少)。 (第2行,「代碼」文件)。我試圖從標題爲「通訊文件夾」的子文件夾中拉出名爲「沙箱」的另一個文件夾中的工作表。 –

相關問題