google-apps-script - 在下拉更改时发送电子邮件,GAS 不会进行
问题描述
我正在努力做到这一点,以便当下拉单元格显示“发送”时发送一封电子邮件。电子邮件地址和消息需要是动态的。onEdit 事件正在触发,但在声明 emailAddress 时它会停止。为什么会这样?我有很多 VBA 经验,但很少有 GAS 经验。
/*
* on sheet change, if correct cell
*/
function onEdit(e) {
if (e.range.getSheet().getName() === 'Sheet1') {
var sheet = SpreadsheetApp.getActiveSheet();
if (e.range.getA1Notation() === 'D2' && e.value === 'Send') {
sheet
.getRange('D2')
.clearContent();
logIt('good through here');
var emailAddress = sheet.getRange(2, 1).getValue;
logit('will not show');
var message = sheet.getRange(2, 2).getValue;
var subject = "GAS -- Automated Email";
MailApp.sendEmail(emailAddress, subject, message);
logIt('testEnd');
}
}
}
function logIt(message) {
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().appendRow([new Date(),message]);
}
解决方案
编辑时无法发送电子邮件:
查看此应用程序脚本上的“限制”简单触发器说明。
https://developers.google.com/apps-script/guides/triggers
此外,您的“将不显示”消息未显示,因为您有错字:logit 而不是 logIt。
推荐阅读
- github - 尽管在代理中添加了身份,但无法使用 SourceTree 推送到 github:权限被拒绝(公钥)
- angular - 我如何延迟加载组件 html 直到获得所有图像?
- vue.js - Vue axios 发布请求被 CORS 策略阻止
- powershell - 删除 PowerShell 中特定行之后的所有行
- java - 什么会导致文本在 oracle 的移动应用程序框架中的 amx 命令按钮中不显示?
- java - API 调用中的 HTML 实体编码不正确
- c++ - 有没有办法在提供左值和右值重载时删除重复代码?
- c# - 返回不杀死递归函数
- tomcat - Gulp 项目部署到 Tomcat 服务器
- numpy - Numpy 更改矩阵维度