【发布时间】:2020-12-15 14:52:48
【问题描述】:
我正在尝试自动化电子邮件系统,每当有人提交表单,因此编辑电子表格时,google-scripts 都会向我发送一封包含该消息的电子邮件。代码工作得很好,可以做我想要的。但是,我每次都需要手动运行脚本,这违背了目的。我曾尝试执行 onEdit(e) 功能,但它从未起作用。我也尝试了 AppsScript 的触发器功能,但没有成功。
/**
* Sends emails with data from the current spreadsheet.
*/
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = sheet.getLastRow();
var numRows = sheet.getLastRow();
// Fetch the range of cells
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
// Fetch values for each row in the Range.
var data = dataRange.getValues();
var emailAddress = 'email@email.com'; // First column
var message = data[0][3]; // Fourth column;
var subject = 'A Subject';//this will always be the same
Logger.log(emailAddress, subject, message); //This is to test because of the limit of how many emails you can send a day.
MailApp.sendEmail(emailAddress, subject, message);
}
这里是一个 google sheet 的链接,您可以在上面测试和编辑脚本:https://docs.google.com/spreadsheets/d/1bBNDc33fBx2JPcRByt-8TA2vrLqa51H72TIM-SeARsc/edit?usp=sharing
工作表没有使用谷歌表单,它是从我构建的用作表单的 HTML 网页的结果中获取数据。
【问题讨论】:
-
如果您正在讨论使用仅响应用户更改的 on edit 触发器,请阅读文档。或者只是从提交表单中完成
-
如果这应该从谷歌表单中触发,您是否尝试过 onSubmit 触发器?
-
邮箱地址怎么了?
标签: google-apps-script google-sheets