亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲取單元格值(來自 Google 表單的 Sheet1,來自公式的 Sheet2)到谷歌文檔模板

如何獲取單元格值(來自 Google 表單的 Sheet1,來自公式的 Sheet2)到谷歌文檔模板

慕蓋茨4494581 2022-10-27 10:47:01
我有 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條經驗 獲得超7個贊

這個答案怎么樣?

修改點:

  • 為了從“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];



查看完整回答
反對 回復 2022-10-27
  • 1 回答
  • 0 關注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號