一旦复选框为 True,如何发送包含工作簿中一张工作表的 .csv 文件的电子邮件

问题描述 投票:0回答:1

首先我要说的是,我从未在谷歌表格中运行过任何脚本,而且我也不熟悉代码,尽管我认为这将是我的解决方案的一部分。

我有一本很长的工作簿,其中在各个选项卡上包含每月几天的订单表格,然后所有这些选项卡都汇集到下订单末尾的摘要选项卡。

我需要弄清楚的是,当任何选项卡中的复选框标记为“true”时,如何发送通知电子邮件。如果我们可以让电子邮件包含工作簿中订单选项卡的 CSV,我们将获得奖励积分。

这是一个示例工作簿,其中包含我正在使用的内容的更经过解析的版本:

https://docs.google.com/spreadsheets/d/1UhsupUoLT3l4Heq2c1pWUmwxX1cHuV0WzWNUwiB3Yo0/edit?usp=sharing

我看了又看,我可以看到有一些关于如何在脚本中执行此操作的选项,但从未使用过这个,我不确定我需要复制什么以及需要调整什么以匹配我的自己的工作簿(如果有意义的话)。如果有人可以复制我需要放入脚本中的内容,然后也许

BOLD我需要自己输入的内容,这将非常有帮助!

google-sheets google-apps-script email-attachments
1个回答
0
投票
这样的事情可能是一个起点:

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 触发器。

© www.soinside.com 2019 - 2024. All rights reserved.