【问题标题】:How to Generate Gmail draft using Google App Script from Spreadsheet contains Table in the Body如何使用电子表格中的 Google App 脚本生成 Gmail 草稿包含正文中的表格
【发布时间】:2021-05-08 05:31:04
【问题描述】:

我想使用来自电子表格的 Google 应用脚本生成 Gmail 草稿,其中包含正文中的表格。

下面是我有什么输入值和我想要什么类型的输出的截图。

如果您能分享完整的 GS 代码,我将不胜感激,因为我是 Google App Scripts 的新手。

另外,我还想在邮件正文中签名,“Thanks and Regards”是我正文的一部分。

另外请注意,E 列是动态的,意味着它可能有 1 行并且可能超过 1 行。

目前我正在使用此代码。

function Email_Loop_BL() {


const signature = Gmail.Users.Settings.SendAs.list("me").sendAs.filter(function(account){if(account.isDefault){return true}})[0].signature;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var index = 2;
var index1 = 2;
var lastRow = sheet.getLastRow();
var data = sheet.getRange(1, 5, 10).getValues();
Logger.log(data)
for (;index1 <= data; index1++){
  var message2 = sheet.getRange(index, 5, 1, 1).getValue();
}

var emailAddress = sheet.getRange(index, 1, 1, 1).getValue();
var ccmail = sheet.getRange(index, 2, 1, 1).getValue();
var subject = sheet.getRange(index, 3, 1, 1).getValue();
var message = sheet.getRange(index, 4, 1, 1).getValue();


//var location = sheet.getRange(index, 5, 1, 1).getValue();
//var guests = sheet.getRange(index, 6, 1, 1).getValue();
//var eventColour = sheet.getRange(index, 7, 1, 1).getValue();
//var sendInvites = true;

  
const html = "<div> </div><br>" + signature;
const options = {
  htmlBody: message + data + html,
  cc: ccmail
}  
GmailApp.createDraft(emailAddress, subject, '', options);




}// End of Function

这是我的意见

这是我想要的输出。

【问题讨论】:

    标签: google-apps-script google-sheets google-cloud-platform automation gmail


    【解决方案1】:
    function sendemail() {
      const ss=SpreadsheetApp.getActive();
      const sh=ss.getSheetByName('Sheet1');
      const rg=sh.getDataRange();
      const vs=rg.getDisplayValues();
      GmailApp.createDraft(vs[1][0].toString().split(/\n/).join(','),vs[1][2],'',{htmlBody:vs[1][3].toString().split(/\n/).join('<br>') + '<br>' + vs[1][4].toString().split(/\n/).join('<br>') + '<br>' + vs[1][5],cc:vs[1][1].toString().split(/\n/).join(',')});
    }
    

    Sheet1 中的我的数据:

    草稿:

    您可以向收件人添加更多电子邮件并抄送,方法是将它们放在单元格内的不同行中,但每行以ctrl enter 结尾。发票也是如此。

    【讨论】:

    • 谢谢,另外,我忘了提到我还想在 GMAIL DRAFT 中添加签名。 “感谢和问候”是我签名的一部分。
    • 另外请注意,E 列是动态的,意味着它可能有 1 行或多于 1 行。
    • 我在我的示例中更改了它,因为如果您将它们全部放在由ctrl enter 分隔的同一个单元格中,代码会更容易,但如果您希望以您的方式更改它,我可以随意进行任何您想要的代码更改。在我的情况下,您可以根据需要在其中放置任意数量。收件人和抄送也是如此
    • 谢谢,但你能在我的代码中更改插入表格吗,因为我必须在多张纸上使用此代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多