学校管理员来了。
我们正在使用谷歌表格在我们的语言学院参加注册。
google表单使用复选框网格,其中学生名称作为行,下面的选项作为列:
这些响应被发送到电子表格,由管理人员手动检查。
我们目前有一个系统,教师应该口头通知行政工作人员,如果学生缺席两个或更多的连续,但许多不工作在中心,并可能忘记更新管理。
我一直在寻找一个脚本,这将触发一个指定的电子邮件地址,如果一个学生有一个“缺席”条目连续两次,但也重置时,学生再次出席。
或者,连续2倍缺席的学生姓名(第1行中的信息)可以添加到另一个电子表格中进行编译。
希望有人能帮忙!谢谢!
在这个例子中,索菲亚·维加拉(我希望!)连续缺席三次,因此第二次缺席后应触发电子邮件。然后重设后,她参加第四节课(E5)。Juan Lopez连续缺席两个类,应该添加到缺席列表中。
发布于 2021-12-07 01:31:24
启动一次myTriggerSetup
const adresseEmail = 'xxxxxxxxxxx@gmail.com'
function myTriggerSetup() {
if(!isTrigger('onFormSubmit')) {
ScriptApp.newTrigger('onFormSubmit')
.forSpreadsheet(SpreadsheetApp.getActive())
.onFormSubmit()
.create();
}
}
function isTrigger(funcName) {
var r=false;
if(funcName) {
var allTriggers=ScriptApp.getProjectTriggers();
var allHandlers=[];
for(var i=0;i<allTriggers.length;i++) {
allHandlers.push(allTriggers[i].getHandlerFunction());
}
if(allHandlers.indexOf(funcName)>-1) {
r=true;
}
}
return r;
}
function onFormSubmit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var row = sheet.getActiveRange().getRow();
var column = e.values.length + 1;
for (var i=2;i<=column;i++){
if (sheet.getRange(row,i).getValue()=='Absent' && sheet.getRange(row-1,i).getValue()=='Absent'){
MailApp.sendEmail({
to: adresseEmail,
subject: 'Consecutive absences ' + sheet.getName(),
htmlBody: sheet.getRange(1,i).getValue(),
});
}
}
}https://stackoverflow.com/questions/70249869
复制相似问题