请不要介意我的无知。目前,我是一个“让您的办公室生活更轻松的DIYer”,我正在尝试使用GoogleForms构建一个pdf生成器,据此,我已经成功地运行了一个脚本,并从它生成了一个pdf文件。
通过使用GoogleForms,问题的答案被用来填充一个GoogleDoc模板,在那里它会自动更改/替换其中指定的值。然而,我现在面临的困境是如何捕捉提交表单后创建的“时间戳”。
这是我正在使用的代码:
function onFormSubmit(e) {
const info = e.namedValues;
createPDF(info)
}
function createPDF(info){
const pdfFolder = DriveApp.getFolderById("19Mbse07Dh03SXhCMDCuUHwP1oNqfhul_");
const tempFolder = DriveApp.getFolderById("1ye9x0l_izDGku91g4ekxDMH8JDIyxdB1");
const tempDoc = DriveApp.getFileById("1p2nCjS4z_4MEGSud833DBRf9Lcby0zPWT_k3SjLiMoo");
const newTempFile = tempDoc.makeCopy(tempFolder)
const openDoc = DocumentApp.openById(newTempFile.getId());
const body = openDoc.getBody();
body.replaceText("{q3}", info['Timestamp'][0]);
body.replaceText("{q1}", info['1. Description'][0]);
body.replaceText("{q2}", info['2. Description'][0]);
openDoc.saveAndClose();
const blobPDF = newTempFile.getAs(MimeType.PDF);
const pdfFile = pdfFolder.createFile(blobPDF).setName("My PDF")
}我现在面临的问题是如何在提交表单后创建“时间戳”。
该表单成功地捕获了“1.Description”和“2.Description”,并在GoogleDoc模板中更改了表单,这是我用来创建pdfFile的模板。
我遵循了“表单提交”下的文档,特别是namedValues,试图返回‘时间戳’。
{
'First Name': ['Jane'],
'Timestamp': ['6/7/2015 20:54:13'],
'Last Name': ['Doe']
}文档中提到了“时间戳”,但是我无法提取它。
有人能帮我吗?我确信我错过了什么。
发布于 2022-08-17 15:21:01
要提取时间戳,请使用e.namedValues["Timestamp"][0],即
var timestamp = e.namedValues["Timestamp"][0];我建议您花一些时间学习JavaScript (对象、数组)中的数据结构。
资源
https://stackoverflow.com/questions/73390972
复制相似问题