我早些时候在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列开始向下运行,并且角色遍及顶部,但是一旦获得了这种可靠且稳定的信息,我就开始讨论!
答案 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
如果我误解了您的问题,而这不是您想要的结果,我深表歉意。