Estou criando vários arquivos doc. de acordo com o modelo, extraindo dados da planilha. Tudo está salvo em arquivos diferentes. Por favor, me ajudem a salvar os novos arquivos em um único documento.
function myFunction() {
const docFile = DriveApp.getFileById("....."); //template file
const tempFolder = DriveApp.getFolderById("...."); //folder for new files
var list = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); //get an active book, get an asset.sheet
var l = list.getLastRow(); // get the last line
for (var i = 9; i <= l; i++) {
const tempFile = docFile.makeCopy(tempFolder);//make a copy of the template
const tempDocFile = DocumentApp.openById(tempFile.getId()); //open a copy of the template
const body = tempDocFile.getBody(); //get the body (text) of the copy file
//getting variables from the table::
var a1 = list.getRange(i, 1).getValue(); // get data from drain number i and column 1 -
var a2 = list.getRange(i, 2).getValue();
var a3 = list.getRange(i, 3).getValue();
//replacing the necessary data in the text of the template copies:
body.replaceText("{......}", a1);
body.replaceText("{.....}", a2);
body.replaceText("{....}", a3);
//naming the created file:
const newFileName = '.....' + a2; // assigning a name
tempFile.setName(newFileName);
tempDocFile.saveAndClose(); //save and close
}
}
Não sou programador. Encontrei o script na internet e o modifiquei. Não sei exatamente como alterá-lo.
Para conseguir isso, modifiquei seu código de acordo com o problema.
O código agora funciona como esperado. Ele cria um novo documento a partir de um modelo usando os dados de cada linha da planilha. Em seguida, usando
forEach
, ele anexa o conteúdo de cada documento gerado ao arquivo chamado Arquivo Mesclado .Código modificado:
Referência:
Classe DocumentApp
Aplicativo de unidade de classe
para cada