【发布时间】:2021-03-02 12:28:01
【问题描述】:
我有以下脚本,它接受 Google 表单上的输入,使用这些输入制作文档,然后发送附有文档的电子邮件。它工作正常,但我需要过滤一些响应,但我不知道如何过滤事件中的数据。
表格上的一个问题是询问人们想要什么样的文件:
现在,我只完成了第二个选项(Licença Especial em Pecúnia)的脚本。我需要从表单中过滤数据,所以当我选择第一个选项(Substituiçãode Chefia)时,它会从不同的模板生成不同的文档。现在,function afterSubmit(e) 在表单提交时触发。
请原谅 vars 和 consts 的葡萄牙语名称,我将这道题的重要名称改为英语。
function afterSubmit(e) {
const info = e.namedValues;
const pdfFileLP = createPDFLP(info);
const url = e.namedValues['Anexos ao ofício'][0];
function getIdFromUrl(url) {return url.match(/[-\w]{25,}$/);};
var idAnexo = getIdFromUrl(url);
const nrof = e.namedValues['Numeração do ofício'][0];
function pdfAnexado(idAnexo,nrof) {return DriveApp.getFileById(idAnexo).setName("Anexos do ofício of. " + nrof + "-PGE/PRF.pdf");};
var pdfAnexo = pdfAnexado(idAnexo);
eprotocolo(e.namedValues['Expresso do solicitante'][0],nrof,pdfFileLP,pdfAnexo);
}
function eprotocolo(email,ofi,pdfFileLP,pdfAnexo){
var EmailTemp = HtmlService.createTemplateFromFile("mailLP");
EmailTemp.mail = email;
var htmlMessage = EmailTemp.evaluate().getContent();
GmailApp.sendEmail("estag.pedron@pge.pr.gov.br","Of. " + ofi + "-PGE/PRF",
"SEU EMAIL NÃO SUPORTA O FORMATO HTML, FAVOR RESPONDER ESTE E-MAIL PARA SOLUCIONAR O PROBLEMA OU ENTRAR EM CONTATO PELO TELEFONE (41)3281-6392.",{
from: "procuradoriafuncional@gmail.com", name: "Gerador de ofícios da PRF", htmlBody: htmlMessage,
replyTo: email, cc: email,
attachments: [pdfFileLP, pdfAnexo]
});
}
function createPDFLP(info) {
const pdfFolder = DriveApp.getFolderById("1mgNPhM9f2U0BWrDK0FAfCYyq968rJ3E8");
const tempFolder = DriveApp.getFolderById("1FfW3Jn9hHARpBU8t8szlQ2YwR9OPR1ZV");
const templateChefia = DriveApp.getFileById("1qP3A8O27Ms8OuybaqrQ6jQBB_PQpo-RhDU9xjIw_a44");
const templateLP = DriveApp.getFileById("1lRab5lPdbRcdl4gaI3zonFseE180cNu4-hWaovamerc");
const newTempFileLP = templateLP.makeCopy(tempFolder);
const openDocLP = DocumentApp.openById(newTempFileLP.getId());
const bodyLP = openDocLP.getBody();
bodyLP.replaceText("{of}", info['Numeração do ofício'][0]);
bodyLP.replaceText("{data}", info['Data do ofício'][0]);
bodyLP.replaceText("{serv}", info['Nome completo'][0]);
bodyLP.replaceText("{rg}", info['Número do RG'][0]);
bodyLP.replaceText("{autos}", info['Numero dos autos'][0]);
bodyLP.replaceText("{prazo}", info['Prazo'][0]);
bodyLP.replaceText("{procurador}", info['Procurador solicitante'][0]);
bodyLP.replaceText("{orgao}", info['GRHS de destino'][0]);
openDocLP.saveAndClose();
const blobPDFLP = newTempFileLP.getAs(MimeType.PDF);
const pdfFileLP = pdfFolder.createFile(blobPDFLP).setName("Of. " + info['Numeração do ofício'][0] + "-PGE/PRF.pdf");
tempFolder.removeFile(newTempFileLP);
return pdfFileLP;}
【问题讨论】:
标签: javascript google-apps-script google-sheets google-forms