javascript - 在 E 列中使用数组公式发送电子邮件不起作用
问题描述
我有一个填写数据 A:D 的工作时间 Google 网络应用程序表单
- A 列 - 名称
- B 栏 - 及时
- C 列 - 超时时间
- D 列 - 小时
我添加了一个额外的列 E - 状态,它会根据 B 和 C 数据在 E1 中使用 ArrayFormula 函数相应地更改 IN - OUT。
我想在每次用户输入数据并且 E 列状态更改为“OUT”时触发一封电子邮件。
问题:当 E 列中的状态更改为 OUT 时,电子邮件不会触发,我哪里出错了?
function sendEmail(e) {
var thisSheet = e.source.getActiveSheet();
if (thisSheet.getName() !== 'MAIN' || e.range.columnStart !== 5 || e.range.rowStart == 1 || e.value !== 'OUT') return;
var body, headers = thisSheet.getRange(1, 1, 1, 5)
.getValues()[0],
thisRow = thisSheet.getRange(e.range.rowStart, 1, 1, 5)
.getValues()[0],
in = thisRow[3],
out = thisRow[4],
recipients = "email@email.com",
subject = "⚫ Work Log "+in +" "+out
body = "Work Log Record \n\n",
i = 0;
while (i < 5) {
body += headers[i] +' - ' + thisRow[i] +'\n';
i++;
}
MailApp.sendEmail(recipients, subject, body, {name: "Company"});
}
解决方案
推荐阅读
- swift - 协助使用 Swift 5 WebKit 并在 ViewController 中从 HTML 打开 TEL 和 EMAIL 链接
- javascript - 如何在我的混合应用程序中设置我的 JQuery Mobile 多页导航
- angular - Angular 中的 Azure 身份验证重定向问题
- java - 为什么我的 if 语句在条件不成立时执行?
- bitmap - 垂直翻转 VCL TImage 并拉伸
- selenium - 在 JMeter WebDriver 采样器中使用 sendKeys 命令进行“多个同时按键”操作
- c - 将 scanf 与通过引用传递的结构一起使用
- c# - 如何在按钮按下时删除应用程序。?
- ios - 将图像添加到 MapBox 中的自定义 MGLAnnotationView
- java - TestNg 中的 NullPointerException