发送自动 Gmail 消息时保持字体颜色

问题描述 投票:0回答:1

我们目前有一个应用程序脚本,当在 Google 表格中选中复选框时,该脚本会自动发送电子邮件。我们有一个“消息”列,应用程序脚本从中提取以创建电子邮件正文。当电子邮件发送时,整个正文只是纯文本。我希望能够将“消息”列中的一些文本设置为红色,将一些文本设置为黑色(在同一单元格内),然后让它发送带有相应红色和黑色文本的电子邮件。这可以做到吗?我附上下面的应用程序脚本:

function onCheckboxEdit(e) {
  var source = e.source
  var sheet = source.getActiveSheet();
  var range = e.range
  var row = range.getRow();
  var column = range.getColumn();
  console.log("column:: ", column);

  var targetRange = sheet.getRange( row, 1, 1, 5)
  var targetValues = targetRange.getValues();
  console.log("targetRange:: ", targetValues);
  var recipient = targetValues[0][2];
  var checkboxValue = targetValues[0][3];
  var body = targetValues[0][4];;
  var subject = "New Traveler Coverage Update"
  var cc = targetValues[0][5]

  if(column = 4 && checkboxValue == true) {
    console.log("checkbox marked true")

    GmailApp.sendEmail(recipient, subject, body, {
      cc: "[email protected]"
    });

  } else if (column = 4 && checkboxValue == false) {
    console.log("checkbox marked false")
  } else {
    console.log("No clue")
  }
}

这是我们获取应用程序脚本的视频链接: https://www.youtube.com/watch?v=v_DCrKkzRSg

我发现的所有内容都不包含复选框触发器

google-apps-script google-sheets checkbox formatting gmail
1个回答
0
投票

使用事件对象值

function onCheckboxEdit(e) {
  const sheet = e.range.getSheet();
  const tvs = sheet.getRange( e.range.rowStart, 1, 1, 5).getValues().flat();
  let recipient = tvs[2];
  let checkboxValue = tvs[3];
  let body = tvs[4];;
  let subject = "New Traveler Coverage Update"
  let cc = tvs[5]
  if(e.range.columnStart = 4 && checkboxValue == true) {
    GmailApp.sendEmail(recipient, subject, body, {cc: cc});
  } 
}
© www.soinside.com 2019 - 2024. All rights reserved.