我有 2 张纸。Sheet1 来自 Google Form 并将它们查询到 Sheet2 然后制作公式。我想从他们那里获取单元格值到 Google Doc 模板并发送电子邮件。我可以从 Sheet1 中获取值,但不能从 Sheet2 中获取值。请帮我解决这个问题。谢谢你。 在此处输入图像描述 在此处 输入图像描述function onFormSubmit(e){ var docs_email = e.values[1]; var Name = e.values[2]; var Date1 = e.values[3]; var Date2 = e.values[4]; var Money1 = e.values[5]; var Money2 = e.values[6]; //Values from Sheet2 var TotalDate = e.values[7]; var Money3 = e.values[8]; var TotalMoney = e.values[9]; var copyId = DriveApp.getFileById('Doc ID') //Temp document ID .makeCopy('Report-'+Name) .getId(); var copyDoc = DocumentApp.openById(copyId); copyDoc.getBody() var copyBody = copyDoc.getActiveSection(); copyBody.replaceText('keyName', Name); copyBody.replaceText('keyDate1', Date1); copyBody.replaceText('keyDate2', Date2); copyBody.replaceText('keyMoney1', Money1); copyBody.replaceText('keyMoney2', Money2); copyBody.replaceText('keyTotalDate', TotalDate); copyBody.replaceText('keyMoney3', Money3); copyBody.replaceText('keyTotalMoney', TotalMoney); copyDoc.saveAndClose(); //convert to pdf var pdf = DriveApp.getFileById(copyId).getAs("application/pdf"); //Send the email var subject = "Your Report"; var body = "Dear " +Name+" \n\n"+"<br> This is your report"; GmailApp.sendEmail(docs_email, subject, body,{htmlBody: body, attachments: pdf});}
1 回答
LEATH
TA贡献1936条经验 获得超6个赞
这个答案怎么样?
修改点:
为了从“Sheet2”中的“H”到“J”列中检索值,
getValues
使用。从您的问题中,我可以理解“H”到“J”列具有公式。所以我认为
getLastRow()
可能无法直接使用。所以我认为需要在“A”列检索第一个空行。
当以上几点反映到您的脚本时,它变成如下。
修改后的脚本:
请按如下方式修改您的脚本。
从:
var TotalDate = e.values[7];
var Money3 = e.values[8];
var TotalMoney = e.values[9];
至:
SpreadsheetApp.flush(); // This might be not required.
var sheet = e.source.getSheetByName("Sheet2"); // Values are retrieved from the sheet name of "Sheet2".
var row = 0;
for (var i = 1; i < sheet.getLastRow(); i++) {
if (sheet.getRange(i, 1).isBlank()) {
row = i - 1;
break;
}
}
var [TotalDate, Money3, TotalMoney] = sheet.getRange(row, 8, 1, 3).getValues()[0];
添加回答
举报
0/150
提交
取消