function DocGenerator2() {
//Наша таблица (выбираем л):
let ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Ответы');
//Файл гугл док шаблон для рассылок:
let fileID = '1xpXyilsTe5zUtF3iG-ifxwmCCMxbxi6EAccFbpyg8X0';
let folderID = '1vNNhXKaKYJfd1i8uerxw8o8EG1qEO4pk';
let file = DriveApp.getFileById(fileID);
//Определяем данные для передачи, записываем в массив:
let lr = ss.getLastRow();
let arrData = ss.getRange(2, 1, lr,15).getValues();
//Задаем Имя для копии и получаем к ней доступ:
var today = new Date();
today = Utilities.formatDate(today, 'GMT+05:00', 'dd.MM.yyyy');
let docNameCopy = 'Рестр уведомлений от '+today;
//Создаем копию из шаблона в нужную папку, и получаем доступ к нему по ID
let fileCopy = file.makeCopy(docNameCopy,DriveApp.getFolderById(folderID));
let fileCopyID = fileCopy.getId();
let DocCopy = DocumentApp.openById(fileCopyID);
//Указываем тела шаблона и копии
let body = DocumentApp.openById(fileID).getBody();
//Количество дочерних элементов
let NumChild = body.getNumChildren();
//Цикл перебирает данные для вставки из массива
for (let i=0; i<(lr-1); i++) {
//Каждые N раз цикла сохраняем и закрываем файл
if (i%50 == 0){
DocCopy.saveAndClose();
DocCopy = DocumentApp.openById(fileCopyID)};
//Получаем данные из массива для вставки
let bodyCopy = DocCopy.getBody();
let name = arrData[i][1];
let date = arrData[i][0];
date = Utilities.formatDate(date, 'GMT+05:00', "dd.MM.yyyy");
let status = arrData[i][2];
let dat3 = arrData[i][3];
let dat4 = arrData[i][4];
let dat5 = arrData[i][5];
let dat6 = arrData[i][6];
let dat7 = arrData[i][7];
let dat8 = arrData[i][8];
let dat9 = arrData[i][9];
let dat10 = arrData[i][10];
let dat11 = arrData[i][11];
let dat12 = arrData[i][12];
let dat13 = arrData[i][13];
let dat14 = arrData[i][14];
//Указываем что на что менять
bodyCopy.replaceText('{Кто по жизни}', name);
bodyCopy.replaceText('{Отметка времени}', date);
bodyCopy.replaceText('{Чи да}', status);
bodyCopy.replaceText('{Тест}', 'тест'+(i+1));
bodyCopy.replaceText('{dat3}', dat3);
bodyCopy.replaceText('{dat4}', dat4);
bodyCopy.replaceText('{dat5}', dat5);
bodyCopy.replaceText('{dat6}', dat6);
bodyCopy.replaceText('{dat7}', dat7);
bodyCopy.replaceText('{dat8}', dat8);
bodyCopy.replaceText('{dat9}', dat9);
bodyCopy.replaceText('{dat10}', dat10);
bodyCopy.replaceText('{dat11}', dat11);
bodyCopy.replaceText('{dat12}', dat12);
bodyCopy.replaceText('{dat13}', dat13);
bodyCopy.replaceText('{dat14}', dat14);
//Цикл добавляет листы и параграфы (переберает дочерние элементы)
if (i < lr-2){
for (let j = 0; j < NumChild; j++){
let Child = body.getChild(j);
if(Child.getType() == 'PARAGRAPH'){
bodyCopy.appendParagraph(Child.copy())
} else if (Child.getType() == 'TABLE') {
bodyCopy.appendTable(Child.copy())
} else { break };
}
//Вставляет новую страницу
bodyCopy.appendPageBreak();
}
}
//Сохраняем и закрываем копию
DocCopy.saveAndClose();
Browser.msgBox("Документы созданы, чекай:
https://u.to/2Z0xGQ "+folderID);
}