google-sheets - 根据字符串单元格值中的关键字自动通过电子邮件发送 Google 表单提交
问题描述
我从下面的代码中收到了 gmail,但不是我想要包含的表单值。当学生在表单的一个字段(col J)中键入重要或令人担忧的关键字时,我正在尝试让 Google 表单(表)向我(老师)发送电子邮件。
想象一个基本上包含以下字段的 Google 表单:
- A - 日期/时间戳
- B - 电子邮件地址收集
- C - 姓名(简答文本)
- D - 你昨天学习或工作了什么?(长答案文本)
- E - 你今天一般感觉如何?(多项选择)
- F - 你今天累吗?(多项选择)
- G - 你今天压力大吗?(多项选择)
- H - 你今天有什么事吗?(一堆复选框)
- I - 今天有什么“酷”或“好”的地方?(长答案文本)
- J -(可选)随时告诉我更多信息(长答案文本)
如果学生在最后一列(J 列)中键入任何警告词,例如“死亡”或“药物”等,我想获得一份包含该行所有信息摘要的 gmail。到目前为止,我已经设置了一个触发器,并且只收到了一个带有主题和消息的 gmail,但该消息不包含连接的 vars 值。
此外,gmail 的主题不包含连接的 studname,这会很有帮助。我很好奇您将如何修复此代码。谢谢你!!
function checkComments(){
var commentsRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2").getRange("J2");
var sheet = SpreadsheetApp.getActive().getSheetByName("Sheet2");
var lastrow = sheet.getLastRow();
var comments = sheet.getRange('J' + lastrow).getValue();
if (comments === '.*drug.*'||'.*die.*'||'.*emotion.*'||'.*suicide.*'||) //many more root key words will be added in here in this |OR| format
{
// Send Alert Email.
var timestamp = sheet.getRange('A' + lastrow).getValue();
var studname = sheet.getRange('C' + lastrow).getValue();
var studemail = sheet.getRange('B' + lastrow).getValue();
var feelings= sheet.getRange('E' + lastrow).getValue();
var tired= sheet.getRange('F' + lastrow).getValue();
var stressed= sheet.getRange('G' + lastrow).getValue();
var studwork = sheet.getRange('H' + lastrow).getValue();
var cool = sheet.getRange('I' + lastrow).getValue();
var results = timestamp + ' \n ' + studname + ' \n ' + studemail + ' \n ' + feelings + ' \n ' + tired + ' \n ' + stressed + ' \n ' + studwork + ' \n ' + cool + ' \n ' + comments;
var emailAddress = 'my email address';
var message = 'Alert from the daily survey!\n' + results;
var subject = 'Daily Survey Alert from ' + studname;
MailApp.sendEmail(emailAddress, subject, message);
}
}```
解决方案
要匹配关键字,请替换
if (comments === '.*drug.*'||'.*die.*'||'.*emotion.*'||'.*suicide.*'||)
和
if(!!comments.match(/drug|die|emotion|suicide/))
推荐阅读
- python - Python 3.7 无法连接到 HTTPS URL,因为 SSL 模块不可用
- php - 在 laravel 中意外出现此错误“?” 在 /home/n/public_html/d/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php 第 233 行)
- javascript - 滚动到底部时如何在与firestore的本机反应中获取数据?
- php - 仅为商店页面更改 WooCommerce 产品列 CSS
- python - 改变 t 间隔时,odeint 的行为有所不同
- java - 使用 Java 中的 Scanner 从文件中打印元素
- reactjs - 使用类创建 React 状态
- html - 使用锚元素 HTML 时出现一个小红点
- java - 如何使用firebase将图像从firebase数据库加载到android中的tinder等卡片堆栈中
- android - 崩溃后显示初始屏幕的 React-native 应用程序