【发布时间】:2022-01-09 18:31:24
【问题描述】:
我正在通过 Google 表单收集请求,它们存储在 Google 表格中。所以每当有新的提交时,我想根据选择发送一封电子邮件。
目前我已经创建了一个单独的选项卡,其中存在电子邮件的国家和收件人。
在我的表单响应标签中,我写了一个公式:
=query(ArrayFormula(iferror(vlookup(B2:B;Sayfa2!$A$2:$B$4; 2; false))); "where Col1 <>''")
看起来像:
所以当有新的提交时提取数据。但是,我的 GAS 不会触发电子邮件
//setup function
var ActiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
if (ActiveSheet.getName() == 'Form Yanıtları 1') {
var StartRow = 2;
var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,4);
var AllValues = WholeRange.getValues();
var message = ""
//iterate loop
for (i in AllValues) {
//set current row
var CurrentRow = AllValues[i];
var row = AllValues[i]
var alertRecipient = row[3];
var emailMessage= row[2];
var emailSubject = "A suggestion received for your style guide"
//set HTML template for information
message +=
"<p><b>Option: </b>" + CurrentRow[1] + "</p>" +
"<p><b>Comment: </b>" + CurrentRow[2] + "</p>" +
"<p><b>Recipient: </b>" + CurrentRow[3] + "</p>" +
"</p><br><br>";
}
}//For loop close
//define who to send emails to
// var SendTo = "myemail@email.com";
//set subject line
// var Subject = "New Form";
//send the actual email if message is not empty
if (message) {
MailApp.sendEmail(alertRecipient,emailSubject,emailMessage);
}//if message
}//if sheetName Review
//End Func
我将 GAS 触发器设置为 onEdit。
你能帮我理解我在哪里做错了吗?
非常感谢您的建议!
【问题讨论】:
-
使用“onFormSubmit”触发器。 See here
标签: google-apps-script google-sheets