Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
你好我是javascript和google应用程序脚本的初学者。我已经完成了通过google sheets发送电子邮件的编码,但电子邮件没有发送_Javascript_Google Apps Script - Fatal编程技术网

你好我是javascript和google应用程序脚本的初学者。我已经完成了通过google sheets发送电子邮件的编码,但电子邮件没有发送

你好我是javascript和google应用程序脚本的初学者。我已经完成了通过google sheets发送电子邮件的编码,但电子邮件没有发送,javascript,google-apps-script,Javascript,Google Apps Script,这是我的代码。帮帮我 var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").activate(); var lr = ss.getLastRow(); var templateText = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Template").getRange(1,1).get

这是我的代码。帮帮我

var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").activate();
var lr = ss.getLastRow();
   
   
var templateText = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Template").getRange(1,1).getValue();

//for (var i =2;i<=lr;i++){
var currentEmail = column(i,1);
var currentClass = column(i,3).getValues();
var currentName = ss.getRange(i,2).getValues();

var messageBody = templateText.replace("{name}",currentName).replace("{class}",currentClass);
var subjectLine = "Reminder:" + currentClass + " Upcoming Class";
MailApp.sendEmail(currentEmail,subjectLine,messageBody);
var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Sheet1”).activate();
var lr=ss.getLastRow();
var templateText=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“模板”).getRange(1,1).getValue();
//对于(var i=2;假设:
代码中存在许多问题,包括未定义的变量(例如,
i
),但我认为您需要执行以下操作:

function yourFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = ss.getSheetByName("Sheet1");
  var firstRow = 2;
  var numRows = sheet1.getLastRow() - firstRow + 1; 
  var templateText = ss.getSheetByName("Template").getRange(1,1).getValue();
  var values = sheet1.getRange(firstRow,1,numRows,3).getValues(); // Retrieve data from all rows
  values.forEach(row => { // Iterate through each row
    var [currentEmail, currentName, currentClass] = row; // Get values from columns A-C
    var messageBody = templateText.replace("{name}",currentName)
                                  .replace("{class}",currentClass);
    var subjectLine = "Reminder:" + currentClass + " Upcoming Class";
    MailApp.sendEmail(currentEmail,subjectLine,messageBody);
  });
}
表1
中的每一行发送电子邮件,并考虑到:

  • 收件人
    位于
    A列
  • subject
    基于列
    C
    的值
  • 消息体是通过将
    {name}
    {class}
    关键字分别替换为
    template!A1
    中的字符串模板中的
    {name}
    C
    列的值来构建的
代码段: 如果上述情况正确,您可以执行以下操作:

function yourFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = ss.getSheetByName("Sheet1");
  var firstRow = 2;
  var numRows = sheet1.getLastRow() - firstRow + 1; 
  var templateText = ss.getSheetByName("Template").getRange(1,1).getValue();
  var values = sheet1.getRange(firstRow,1,numRows,3).getValues(); // Retrieve data from all rows
  values.forEach(row => { // Iterate through each row
    var [currentEmail, currentName, currentClass] = row; // Get values from columns A-C
    var messageBody = templateText.replace("{name}",currentName)
                                  .replace("{class}",currentClass);
    var subjectLine = "Reminder:" + currentClass + " Upcoming Class";
    MailApp.sendEmail(currentEmail,subjectLine,messageBody);
  });
}
参考:

i未定义,列未定义---欢迎来到StackOverFlow,请借此机会学习如何使用,您好,对您有用吗?如果是这样,请查看。