我试图在Google表格脚本中编写代码,以便发送包含三个单元格(D2,H2和L2)中的值的电子邮件。
我与这段代码很接近:
function sendCounts() {
//setup function
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh0 = ss.getSheetByName("PART COUNTS");
var message = "";
{
//set current row
var CurrentRow = 2;
//set HTML template for information
message +=
"<p><b>First Count: </b>" + CurrentRow[4] + "</p>" +
"<p><b>Second Count: </b>" + CurrentRow[8] + "</p>" +
"<p><b>Third Count: </b>" + CurrentRow[12] + "</p><br><br>";
//set the row to look at
var setRow = CurrentRow;
}
//define who to send updates to
var SendTo = "me@emailaddress.com";
//set subject line
var Subject = "DAILY PART COUNTS";
//send the actual email
MailApp.sendEmail({
to: SendTo,
cc: "",
subject: Subject,
htmlBody: message,
});
}
电子邮件以正确的格式发送,但是三个值中的每个值在电子邮件正文中均显示为“未定义”,而不是单元格D2,H2和L2的值。
有人知道我在这里想念什么吗?
答案 0 :(得分:1)
此修改如何?
csproj
的原因是each of the three values appear as 'undefined' in the email body instead of the values of cells D2, H2, and L2
。 CurrentRow
是一个数字。但是在脚本中,您将其用作数组。这就是问题的原因。
CurrentRow
的表中检索值。PART COUNTS
可以用作数组。但是在这种情况下,数组索引以CurrentRow
开始,而“ D”,“ H”和“ L”的索引分别为3、7和11。请进行如下修改。
从:0
至:
var CurrentRow = 2;
//set HTML template for information
message +=
"<p><b>First Count: </b>" + CurrentRow[4] + "</p>" +
"<p><b>Second Count: </b>" + CurrentRow[8] + "</p>" +
"<p><b>Third Count: </b>" + CurrentRow[12] + "</p><br><br>";
如果我误解了您的问题,而这不是您想要的结果,我深表歉意。