Realizado

Google Apps Script

Publicado em 08 de Junho de 2021 dias na TI e Programação

Sobre este projeto

Aberto

Breve descrição do projeto: https://www.youtube.com/watch?v=Hnc2SUO79_I

Segue anexa uma figura ilustrativa.

Segue o código que estou utilizando:

function afterFormSubmit(e) {

    const info = e.namedValues;
    const pdfFile = createPDF(info);
    const entryRow = e.range.getRow();
    const ws = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Page3")
    ws.getRange(entryRow, 3).setValue(pdfFile.getUrl());
    ws.getRange(entryRow, 4).setValue(pdfFile.getName());

    sendEmail(e.namedValues['E-mail'][0],pdfFile);

}

function sendEmail(email,pdfFile){

  GmailApp.sendEmail(email, "Here is Your PDF", "Your PDF is attached.", {
    Attachments: [pdfFile],
    name: 'PIAES'
});

}

function createPDF(info){

  const pdfFolder = DriveApp.getFolderById("19IVmyeeUPpK3sukrZ-QJurSS0xtFiblC");
  const tempFolder = DriveApp.getFolderById("1ciddGoE8Nyx1RLS09-1_FzlEJ6awLSa0");
  const templateDoc = DriveApp.getFileById("1_poo4_ZW75C389OwKdrWSCYY1zBQExpzBH1acuxRv70");

  const newTempFile = templateDoc.makeCopy(tempFolder);

  const openDoc = DocumentApp.openById(newTempFile.getId());
  const body = openDoc.getBody();
  body.replaceText("{a}", info['Carimbo de data/hora'][0]);
  body.replaceText("{b}", info['E-mail'][0]);
  body.replaceText("{c}", info['Your Name'][0]);

  openDoc.saveAndClose();

  const blobPDF = newTempFile.getAs(MimeType.PDF);
  const pdfFile = pdfFolder.createFile(blobPDF).setName(info['Your Name'][0] + " " + "-" + " " + info['Carimbo de data/hora'][0]);
  tempFolder.removeFile(newTempFile);

  return pdfFile;

}

Eu baseei esse código JavaScript acima no vídeo abaixo:
https://youtu.be/EpZGvKIHmR8

Segue um trecho de código que talvez possa ajudar:
const ss = SpreadsheetApp.openById("167fJ2b8Gxty6ki1aNRhwmDaYBWKrrdiqEwkyEd8e8MM");
  const sheetResponse = ss.getSheetByName("Respostas ao formulário 1");
  const data = sheetResponse.getRange(sheetResponse.getLastRow(), 3, sheetResponse.getLastRow(), 3).getValues();
  const dataCountry = sheetResponse.getRange(sheetResponse.getLastRow(), 4, sheetResponse.getLastRow(), 4).getValues();

  const sheetParam = ss.getSheetByName("Page2");
  const dataParam = sheetParam.getRange(1, 1, sheetParam.getLastRow(), sheetParam.getLastColumn()).getValues();

  Logger.log('Columns Page2: %s ', dataParam[0])

  for (var i=1; i < dataParam.length; i++) {
    Logger.log('Your Name Page2 Column Value [%d]: %s',1, dataParam[1][0])
  }

  for (var i=0; i < dataCountry.length - 1; i++) {
    Logger.log('Form Column "Country": %s',dataCountry[i][0])
  }

  for (var i=0; i < data.length - 1; i++) {
    Logger.log('Form Column "Your Name": %s',data[i][0]);
  }

Se quiser colocar, por exemplo, o país do form no documento, acho que precisa fazer um body.replaceText("{d}", info['Your Country'][0]);

Se for pegar o número (número 4 do exemplo), acho que poderia fazer algo como:
const sheetResponse = numberCountrySheet();
body.replaceText("{d}", sheetResponse);

Contexto Geral do Projeto

Breve descrição do projeto: https://www.youtube.com/watch?v=Hnc2SUO79_I Eu baseei esse código JavaScript acima no vídeo abaixo: https://youtu.be/EpZGvKIHmR8

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho uma ideia geral
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias