Google脚本,用于在单元格值低于特定值问题时发送电子邮件
Google script for sending email if cell value is below certain value issue
对javascript来说非常陌生。对于知道的人来说,这可能是非常明显/简单的解决方案。
尝试编写一个脚本,在单元格值低于 100 并将单元格颜色更改为蓝色时发送电子邮件:
我尝试通过调用一个函数来编写它:
function sendemails() {
var emailAddress = "email@address.com";
var message = "test body";
var subject = "test subject";
MailApp.sendEmail(emailAddress, subject, message);
}
function onEdit(e) {
var range = e.range;
if(range.getValue() < 100) {
range.setBackgroundColor('blue');
}
if(range.getValue() < 100) {
sendemails()
}
}
我也刚刚尝试直接发送邮件:
function onEdit(e) {
var range = e.range;
if(range.getValue() < 100) {
range.setBackgroundColor('blue');
}
if(range.getValue() < 100) {
var emailAddress = "email@address.com";
var message = "test body";
var subject = "test subject";
MailApp.sendEmail(emailAddress, subject, message);
}
}
我无法正常工作,可能是因为我没有正确调用该函数或错过了一些明显的东西。单元格变为蓝色,如果我自己运行 sendemail 功能,而不是由于 onedit,它会发送电子邮件。我只是挣扎着打电话。
任何帮助或解释将不胜感激!
谢谢
原因很简单,谷歌在开发者指南中已经说明过:
因为简单的触发器会自动触发,而无需询问用户 对于授权,它们受到以下几个限制:
- 他们无法访问需要授权的服务。例如,简单触发器无法发送电子邮件,因为 Gmail 服务需要授权,但简单触发器可以使用匿名语言服务翻译短语。
请参阅此处的"限制"部分。
要变通解决此问题,您可以创建一个普通函数sendEmail()
。此函数可以添加为可安装的触发器,然后允许调用需要授权的服务。您可以在此处阅读更多相关信息。
然后,用于发送邮件的代码将如下所示:
function sendEmail() {
var range = SpreadsheetApp.getActiveRange();
if (range.getValue() < 100){
var emailAddress = "email@example.com";
var message = "test body";
var subject = "test subject";
MailApp.sendEmail(emailAddress, subject, message);
}
}
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 使用angularjs验证文本框中的电子邮件
- 使用正则表达式评估电子邮件地址时出现性能问题
- javascript中添加验证电子邮件的问题
- 如何在收到电子邮件时自动调用脚本
- 获取屏幕截图并在电子邮件中发送的按钮
- 将项目履行与高级模板合并,并通过电子邮件发送至Netsuite 2.0
- php&js-将电子邮件添加到输入文本中
- 将用户制作的SVG(raphael.js)发送到服务器(php),以便通过电子邮件发送
- 我的电子邮件正则表达式有什么问题
- Accounts.createUser问题.如何使电子邮件字段不唯一
- 通过电子邮件提交表单时出现问题
- PHP 电子邮件问题与$Error消息
- Google脚本,用于在单元格值低于特定值问题时发送电子邮件
- 通过电子邮件发送HTML-格式问题
- 电子邮件正则表达式问题
- 针对电子邮件制作问题的Javascript验证
- Google-app-script:在电子表格中使用单元格行[]的javascript电子邮件正文中的日期格式问题
- 在Android电子邮件客户端显示HTML标签的问题
- HTML5:每当我发送文本区域消息来填充电子邮件的正文时,文本区域的名称就会继续.我该如何解决这个问题?