我们已经顺利的将 onEdit(e)
以及 MailApp.sendMail(message)
学完了,那麽下一步当然就是把它结合起来罗!
结合的概念非常简单,但是我们也先来想一下,要怎麽处理!
先上一下简易流程图:
好简单的流程图...
没错,其实就是这麽简单,所以我们把程序码也简单的写好:
function onEdit(e) {
const theSheet = e.range.getSheet();
const theRowIndex = e.range.getRow();
const theColIndex = e.range.getColumn();
const thisRange = theSheet.getRange(theRowIndex, 1, 1, theColIndex);
const theData = {}
theData.email = thisRange.getCell(1, 2).getValue();
theData.shoolId = thisRange.getCell(1,3).getValue();
theData.class = thisRange.getCell(1,4).getValue();
theData.name = thisRange.getCell(1,5).getValue();
console.log(theData);
MailApp.sendEmail({
to: theData.email, // 这边我们直接把取得的 email 带入
subject: "【系统信件 请勿回复】就是爱兔兔教,兔兔教是唯一真神!",
body: `亲爱的同学 ${theData.name} 你好
你的密码已经修改为「我爱兔兔教」,
请务必记好你的新密码!
`
});
}
直接把之前的程序码给利用起来!??
这样就好了!
没错,事情就是这麽简单!
然後我们储存之後,去打勾一个项目吧!
我们把这个项目打勾,然後到信箱去看一下。
等到天荒地老都没有东西…
咦?为什麽都没东西啊!?
回到执行项目看一下结果:
我们看一下 error log:
就在我看 error log 发疯的时候,嘴一歪,眼一斜,看到了文件中的内容:
路径:Guides > Triggers and events > Simple triggers
……原来用 simple trigger 是没有权限使用其他需要授权的服务的…
好死不死,我们要寄信,就必须要拥有 email 寄信的授权。
那该怎麽办?别担心,文件也知道你可能要用到这个,所以下面也有给解法:
原来还有一种叫做 installable trigger 的东西,所以转移焦点到 installable trigger 看一下怎麽做:
如果看到头昏眼花,这是正常现象…我来总结一下!
总之,就是设定好你的 function 然後切到 触发条件
,就可以设定什麽状态下会触发这个条件。
所以我们切换回程序码,先修改一下:
function onEditTrigger() {
const e = {
range: SpreadsheetApp.getActiveRange()
};
const theSheet = e.range.getSheet();
const theRowIndex = e.range.getRow();
const theColIndex = e.range.getColumn();
const thisRange = theSheet.getRange(theRowIndex, 1, 1, theColIndex);
const theData = {};
theData.email = thisRange.getCell(1, 2).getValue();
theData.shoolId = thisRange.getCell(1,3).getValue();
theData.class = thisRange.getCell(1,4).getValue();
theData.name = thisRange.getCell(1,5).getValue();
console.log(theData);
MailApp.sendEmail({
to: theData.email, // 这边我们直接把取得的 email 带入
subject: "【系统信件 请勿回复】就是爱兔兔教,兔兔教是唯一真神!",
body: `亲爱的同学 ${theData.name} 你好
你的密码已经修改为「我爱兔兔教」,
请务必记好你的新密码!
`
});
}
这边为了不要修改下面的程序码,所以我建立一个变数
e
,并让他是一个 object,有一组 key-pairsrange: SpreadsheetApp.getActiveRange()
接下来我们进入 触发条件
:
然後点选右下角的新增触发条件:
接下来可以注意下图的两个红框:
第一个红框是指你要执行的 function,第二个是触发条件。
我们第一个执行功能就是我 onEditTrigger
,所以不用修改。
第二的要按下去选择「文件内容更变时」:
完成後就直接按「储存」:
接下来会进入权限授权,这边就不特别标出来了!
总之结束之後就会看到这个画面:
接下来我们去试试看吧!
大成功!!???
今天的教学就到这里罗!
但是事实上这个在使用上还有许多的 bug,所以明天我们要来修正喔!
希望大家都能想出来喔!
明天见,掰掰~
学生:老师你今天教的变精实了耶?
我:当然啊,後面会越来越精实!
学生:但废话也变多了(小声)
我:…你就站在我旁边,在小声都还是听得到的…
你好,我是 ALPHA Camp 的 Bernard。感谢你来阅读我的文章。这次铁人赛我会针对「成为...
CheatSheet 小技巧 因为大家其实不太会被指令 所以在网路上有一个小小的P5 cheatsh...
var color1 ='red'; var r1 = 50; var colorList = [&...
Colab连结 今天的主题是要探讨优化器(Optimizer)对模型学习的影响,有关优化器该用哪个好...
在前面章节已介绍如何让Arduino Nano 33 BLE Sense(以下简称BLE Sense...