javascript - sendEmail 功能:如何限制这一点,使单元格值必须满足特定的文本值,例如“是”或“否”
问题描述
我希望谷歌表格在特定列中编辑单元格时发送电子邮件,但是,单元格必须与特定单词匹配。即仅当单元格文本等于“是”或“否”时才会发送电子邮件
我已经能够在谷歌脚本编辑器中获得特定的列和 Onedit 触发器设置,但是,我无法让单元格匹配特定的文本
function sendEmail(event) {
// Getting the row
const ss = event.source.getActiveSheet();
const row = ss.getDataRange().getValues()[event.range.getRow()-1];
const currentColumn = event.range.columnStart;
if (ss.getName() !== 'Sheet1' || currentColumn !== 5 )
return;
var emailAddress= test@gmail.com
var emailBody= "Test"
var subject = "Test"
MailApp.sendEmail(emailAddress, subject, emailBody);
我希望谷歌表格在特定列中编辑单元格时发送电子邮件,但是,单元格必须与特定单词匹配。即仅当单元格文本等于“是”或“否”时才会发送电子邮件
解决方案
我在您的函数中添加了一行代码,应该可以解决问题。:)
function sendEmail(event) {
// Getting the row
const ss = event.source.getActiveSheet();
const row = ss.getDataRange().getValues()[event.range.getRow()-1];
const currentColumn = event.range.columnStart;
if (ss.getName() !== 'Sheet1' || currentColumn !== 5 )
return;
if (!event.value.match(/^(Yes|No)$/)) return;
var emailAddress= test@gmail.com;
var emailBody= "Test";
var subject = "Test";
MailApp.sendEmail(emailAddress, subject, emailBody);
}
参考
这就是我的写作方式。
function sendEmail(event) {
const sheet = event.source.getActiveSheet();
const currentColumn = event.range.getColumn();
if (sheet.getName() !== 'Sheet1' || currentColumn !== 5)
return;
if (!event.value.match(/^(Yes|No)$/)) return;
var emailAddress = test@gmail.com;
var emailBody = "Test";
var subject = "Test";
MailApp.sendEmail(emailAddress, subject, emailBody);
}
推荐阅读
- r - 如何在另一个循环中循环两个循环
- python - python:计算数据框的列并将它们添加到新列
- javascript - 销毁对象时如何设置默认值?
- reactjs - 如何拆分状态以避免在反应应用程序中重新呈现
- c# - UltraTree infragistics 如何更改 UltraTreeNode 的背景色?
- angular - 在 Angular 中动态生成选项卡和表格
- kubernetes - 控制 Openshift 出口
- html - @page margin 导致在打印时隐藏固定位置的页眉和页脚
- ffmpeg - 为什么ffmpeg生成的psnr值是inf?
- module - 模块之间的USES关系是传递的吗?