【发布时间】:2021-11-09 11:06:10
【问题描述】:
我目前正在做一个项目,我让用户填写一个简单的姓名、电子邮件地址表格并上传一个 pdf。
提交表单时,该表单的目标 GSheet 包含名称、电子邮件地址和上传 PDF 的 URL。提交表单后,我可以使用带有 html 的电子邮件进行自动回复,上面写着“收到您的表单提交和附件”。但是是否可以仅使用 URL 将上传的 pdf 附加到该电子邮件中?我找不到 GetFileByURL 的 ClassDrive。只能找到 getfilebyname/type。
我可以想到另一种方法,即让用户手动输入表单中要上传的文件的名称,并让谷歌应用脚本获取文件名。然而,我试图避免人为错误。人为错误,例如上传的文件名与表单中输入的文件名不匹配。 :)
function onSubmit(e) {
var ss = SpreadsheetApp.getActive();
var range = e.range
var row = Number(range.getRow());
var upFolder = DriveApp.getFolderById("ADDRESS OF WHERE THE UPLOADED FILE FROM THE FORM IS");
var formReceived = HtmlService.createTemplateFromFile("HTML Email"); //get the html template
var parent_name = ss.getRange('B'+row).getValue();
var parent_email = ss.getRange('C'+row).getValue();
var fileURL = ss.getRange('D'+row).getValue();
ss.getRange('E'+row).setValue("Error! Email not sent.");
//Tag input into the html
formReceived.parent_name=parent_name
//Once the form is submitted, the URL will show up on the Gsheet
//in column D. Is there a way to attach the file from that URL into the mailapp below.
//Not using the line below (getfilesbyname).
var invoicereceipt = upFolder.getFilesByName("Can be manual input from form");
if(invoicereceipt.hasNext()){
MailApp.sendEmail({
to: parent_email,
name: parent_name,
htmlBody : formReceived.evaluate().getContent(),
attachments: [invoicereceipt.next().getAs(MimeType.PDF)],
});
var now = new Date()
var k = Utilities.formatDate(now,'GMT+8',"YYYY.MM.dd HH:mm:ss")
ws.getRange('E'+index).setValue(k);
}
}
【问题讨论】:
-
我必须为我糟糕的英语水平道歉。不幸的是,我无法理解
But is it possible to attach that uploaded pdf in that email just using the URL? I am not able to find a ClassDrive for GetFileByURL. Only could find getfilebyname/type.。我能问一下你当前的剧本问题和你的目标吗?而且,你能提供你当前的脚本吗? -
不幸的是,我没有工作脚本。目标:用户提交一个包含 3 个输入的谷歌表单。姓名、电子邮件地址、pdf 上传。 > 谷歌表格的目的地,有 3 列。上传的 pdf 的姓名、电子邮件地址、URL。 > 一封自动电子邮件将发送到电子邮件地址,电子邮件正文为“已收到”+ 附加在该电子邮件中的是通过表单提交的上传的 pdf。
-
感谢您的回复。我不得不再次为我糟糕的英语水平道歉。不幸的是,我仍然无法理解你的问题。但我想试着理解它。当我能正确理解它时,我想考虑解决方案。如果您能原谅我糟糕的英语水平,我将不胜感激。
-
Google 表单有 3 个问题:姓名、电子邮件地址、上传文件。当用户提交表单并上传 pdf 文件时,我需要 Google 应用脚本自动向电子邮件地址发送电子邮件并附加上传的 pdf 文件。我还使用脚本编辑了我的原始帖子。
-
感谢您回复并添加更多信息。根据您的附加信息,我提出了一个修改后的脚本作为答案。你能确认一下吗?如果这没有用,我深表歉意。
标签: google-apps-script google-sheets google-forms