0

Я пытаюсь автоматизировать процесс для объединения электронных таблиц. Я написал два сообщения в блоге (here и here), описывающие, как это сделать с помощью формул. Теперь я пытаюсь сделать этот процесс намного проще, позволяя людям объединять электронные таблицы внутри папки или выбирать, какие электронные таблицы должны объединяться автоматически. Если возможно, я хотел бы сделать все это с помощью Google Apps Script. Так мне было интересно, что это лучший способ:Слияние таблиц Google в папке со скриптом Google Apps

  1. получить ключи всех таблиц в папке
  2. имеют «выбора файлов», как окно, чтобы выбрать таблицы, которые пользователь должен объединить

Эти два параметра позволят мне автоматизировать сценарий, который у меня есть в сообщениях блога.

ответ

4

Я предполагаю, что вы можете создать свой собственный интерфейс. Чтобы помочь с логикой, я поместил все необходимые функции, чтобы объединить нижние свечи:

Вы можете посмотреть живую версию here.

function myFunction() { 

    /* Retrieve the desired folder */ 
    var myFolder = DriveApp.getFolderById("0B0kQD4hSd4KASUJKb2cya0NET1U"); 

    /* Get all spreadsheets that resided on that folder */ 
    var spreadSheets = myFolder.getFilesByType("application/vnd.google-apps.spreadsheet"); 

    /* Create the new spreadsheet that you store other sheets */ 
    var newSpreadSheet = SpreadsheetApp.create("Merged Sheets"); 

    /* Iterate over the spreadsheets over the folder */ 
    while(spreadSheets.hasNext()) { 

    var sheet = spreadSheets.next(); 

    /* Open the spreadsheet */ 
    var spreadSheet = SpreadsheetApp.openById(sheet.getId()); 

    /* Get all its sheets */ 
    for(var y in spreadSheet.getSheets()) { 

     /* Copy the sheet to the new merged Spread Sheet */ 
     spreadSheet.getSheets()[y].copyTo(newSpreadSheet); 
    } 
    }  
} 
+0

Я использовал это на нескольких моих проектах сейчас ... спасибо! – rickcnagy

Смежные вопросы