Javascript 谷歌脚本:变量总是显示未定义
我创建了一个谷歌表单,作为我的一个信息论坛的“注册” Google表单中捕获的数据被分配到响应电子表格 电子表格由vlookups根据所选成员编制,效果良好 我想在点击提交后立即为所有注册的人发送自动电子邮件,我也为此创建了一个触发器 问题是在编写代码的初始阶段 第一个代码是:Javascript 谷歌脚本:变量总是显示未定义,javascript,undefined,google-forms,Javascript,Undefined,Google Forms,我创建了一个谷歌表单,作为我的一个信息论坛的“注册” Google表单中捕获的数据被分配到响应电子表格 电子表格由vlookups根据所选成员编制,效果良好 我想在点击提交后立即为所有注册的人发送自动电子邮件,我也为此创建了一个触发器 问题是在编写代码的初始阶段 第一个代码是: function myfunction(e) { var recipient = e.values[1]; var name = e.values[2]; var members
function myfunction(e) {
var recipient = e.values[1];
var name = e.values[2];
var membership = e.values[18];
var price = e.values[19];
var features = e.values[20];
var paymentlink = e.values[21];
var monthlypay = e.values[22];
var subscriptionlink = e.values[23];
var subject = 'Text';
var body = 'Text';
MailApp.sendEmail(recipient, subject, body)
}
/**
* Sends emails with data from the current spreadsheet.
*/
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 2;
var dataRange = sheet.getRange(startRow, 1, numRows, 25);
var data = dataRange.getValues();
for (var i in data) {
var row = data[i];
var emailAddress = row[1];
var name = row[2];
var membership = row[18];
var price = row[20];
var features = row[21];
var paymentlink = row[22];
var message = 'Text';
var subject = 'Text';
MailApp.sendEmail(emailAddress, subject, message);
}
}
function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 2;
var dataRange = sheet.getRange(startRow, 2, numRows, 2);
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var EMAIL_SENT = 'EMAIL_SENT';
var emailAddress = row[1];
var name = row[2];
var membership = row[18];
var price = row[19];
var features = row[20];
var paymentlink = row[21];
var monthlypay = row[22];
var subscriptionlink = row[23];
var emailSent = row[25];
if (emailSent !== EMAIL_SENT) { // Prevents sending duplicates
var message = 'Text';
var subject = 'Text';
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 25).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
这段代码在测试电子表格上运行良好,但出现以下错误:TypeError:无法从未定义中读取属性“值”。(第2行,文件“代码”)
这一问题仍未解决
第二个代码是:
function myfunction(e) {
var recipient = e.values[1];
var name = e.values[2];
var membership = e.values[18];
var price = e.values[19];
var features = e.values[20];
var paymentlink = e.values[21];
var monthlypay = e.values[22];
var subscriptionlink = e.values[23];
var subject = 'Text';
var body = 'Text';
MailApp.sendEmail(recipient, subject, body)
}
/**
* Sends emails with data from the current spreadsheet.
*/
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 2;
var dataRange = sheet.getRange(startRow, 1, numRows, 25);
var data = dataRange.getValues();
for (var i in data) {
var row = data[i];
var emailAddress = row[1];
var name = row[2];
var membership = row[18];
var price = row[20];
var features = row[21];
var paymentlink = row[22];
var message = 'Text';
var subject = 'Text';
MailApp.sendEmail(emailAddress, subject, message);
}
}
function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 2;
var dataRange = sheet.getRange(startRow, 2, numRows, 2);
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var EMAIL_SENT = 'EMAIL_SENT';
var emailAddress = row[1];
var name = row[2];
var membership = row[18];
var price = row[19];
var features = row[20];
var paymentlink = row[21];
var monthlypay = row[22];
var subscriptionlink = row[23];
var emailSent = row[25];
if (emailSent !== EMAIL_SENT) { // Prevents sending duplicates
var message = 'Text';
var subject = 'Text';
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 25).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
此代码的问题是:
function myfunction(e) {
var recipient = e.values[1];
var name = e.values[2];
var membership = e.values[18];
var price = e.values[19];
var features = e.values[20];
var paymentlink = e.values[21];
var monthlypay = e.values[22];
var subscriptionlink = e.values[23];
var subject = 'Text';
var body = 'Text';
MailApp.sendEmail(recipient, subject, body)
}
/**
* Sends emails with data from the current spreadsheet.
*/
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 2;
var dataRange = sheet.getRange(startRow, 1, numRows, 25);
var data = dataRange.getValues();
for (var i in data) {
var row = data[i];
var emailAddress = row[1];
var name = row[2];
var membership = row[18];
var price = row[20];
var features = row[21];
var paymentlink = row[22];
var message = 'Text';
var subject = 'Text';
MailApp.sendEmail(emailAddress, subject, message);
}
}
function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 2;
var dataRange = sheet.getRange(startRow, 2, numRows, 2);
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var EMAIL_SENT = 'EMAIL_SENT';
var emailAddress = row[1];
var name = row[2];
var membership = row[18];
var price = row[19];
var features = row[20];
var paymentlink = row[21];
var monthlypay = row[22];
var subscriptionlink = row[23];
var emailSent = row[25];
if (emailSent !== EMAIL_SENT) { // Prevents sending duplicates
var message = 'Text';
var subject = 'Text';
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 25).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
函数sendmails2(){
var sheet=SpreadsheetApp.getActiveSheet();
var startRow=2;
var numRows=2;
var dataRange=sheet.getRange(startRow,2,numRows,2);
var data=dataRange.getValues();
对于(变量i=0;i
该代码的问题是:
谢谢。我想你的问题在于函数参数,因为你知道在NodeJ中函数的参数是请求,响应类型,因此根据您的第一个参数是请求,当您想要访问它的特定值时,您必须使用req.body.values,对于重复发送的邮件,您可以在您的电子表格中增加一列具有布尔标志的列,并根据是否发送邮件以及根据该u设置和取消设置可以选择您邮件的收件人。 希望这有帮助