首先我要说的是,我从未在谷歌表格中运行过任何脚本,而且我也不熟悉代码,尽管我认为这将是我的解决方案的一部分。
我有一本很长的工作簿,其中在各个选项卡上包含每月几天的订单表格,然后所有这些选项卡都汇集到下订单末尾的摘要选项卡。
我需要弄清楚的是,当任何选项卡中的复选框标记为“true”时,如何发送通知电子邮件。如果我们可以让电子邮件包含工作簿中订单选项卡的 CSV,我们将获得奖励积分。
这是一个示例工作簿,其中包含我正在使用的内容的更经过解析的版本:
https://docs.google.com/spreadsheets/d/1UhsupUoLT3l4Heq2c1pWUmwxX1cHuV0WzWNUwiB3Yo0/edit?usp=sharing
我看了又看,我可以看到有一些关于如何在脚本中执行此操作的选项,但从未使用过这个,我不确定我需要复制什么以及需要调整什么以匹配我的自己的工作簿(如果有意义的话)。如果有人可以复制我需要放入脚本中的内容,然后也许BOLD我需要自己输入的内容,这将非常有帮助!
function onMyEdit(e) {
const sh = e.range.getSheet();//active sheet
const shts = e.source.getSheet();//all sheets in the spreadsheet
const excl = ["Sheet1","Sheet2"];//Sheets to exclude
const chkboxColumn = 4;//Check box column
const idx = shts.filter(s => !~excl.indexOf(s.getName())).map(s => sh.getName()).indexOf(sh.getName());
if(~idx && e.range.columnStart == chkboxColumn && e.value == "TRUE") {
let msg = `SheetName: ${sh.getName()} Row: ${e.range.rowStart}`;
MailApp.sendEmail("recipient email","Subject",msg)
}
}
您需要创建一个可安装的 onEdit 触发器。