如何修复代码不返回电子邮件地址

时间:2019-07-02 23:00:06

标签: google-apps-script

我早些时候在here上发布了一个问题,以帮助我提供我正在处理的旋转工作表的一些代码。

正在工作。但是现在由于某种原因,它不再存在了,我已经盯着它看了好几个小时。

以下是有问题的工作表link

我收到的错误消息是“没有收件人”。

我已经尽可能地遍历了代码,试图查看我是否可以解决错误,但不能深入探究。

代码如下:

for (var x = 1; x < 5; x++) { // 5 because emails are till col4

    var emailAddress = []; // Start by collecting the non-blank emails in an array

    if (getEmailFromName(row[x]) != "") {

      emailAddress.push(getEmailFromName(row[x]))

    }

  }

  emailAddress = emailAddress.join();  // Join the array to get a comma separated string

  MailApp.sendEmail(emailAddress, subject, message);

这是getEmailFromName函数:

function getEmailFromName(sKey) {



  // to use this function, don’t put anything in the first column (A) or row (1).

  // Put the name (i.e. the key, or what we’re looking for) in column B.

  // Put what we want to return in column C. 



  var columnToSearch = 1; //column B



  // Set the active sheet to our email lookup

  var ss1 = SpreadsheetApp.getActiveSpreadsheet();

  var sh1 = ss1.getSheetByName("EmailContactList")

  ss1.setActiveSheet(sh1);



  var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();

  var line = -1;

  for( var i = 0; i < data.length; i++ ) {

    if( data[i][columnToSearch] == sKey ) {

      line = i;

      break;

    }

  }



  if( line != -1 ) {

    //do what you want with the data on "line"

    return data[line][2]; //value on column C of the matched line

  } 

  else {

    return "";

  // if criteria is not found

 }

}

我想发生的只是开除电子邮件。

理想情况下,我想旋转轮换,以使日期从A列开始向下运行,并且角色遍及顶部,但是一旦获得了这种可靠且稳定的信息,我就开始讨论!

1 个答案:

答案 0 :(得分:1)

此修改如何?

修改后的脚本:

  • var emailAddress = [];在for循环中时,emailAddress中的emailAddress = emailAddress.join()变成[]。这样,我认为会发生这种错误。

为避免这种情况,请进行如下修改。

从:
for (var x = 1; x < 5; x++) { // 5 because emails are till col4
  var emailAddress = []; // Start by collecting the non-blank emails in an array
至:
var emailAddress = []; // Start by collecting the non-blank emails in an array
for (var x = 1; x < 5; x++) { // 5 because emails are till col4

如果我误解了您的问题,而这不是您想要的结果,我深表歉意。

相关问题