如何通过Google表格通过电子邮件发送指定的单元格

时间:2019-05-29 21:45:44

标签: google-apps-script

我试图在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的值。

有人知道我在这里想念什么吗?

1 个答案:

答案 0 :(得分:1)

此修改如何?

修改点:

  • 错误csproj的原因是each of the three values appear as 'undefined' in the email body instead of the values of cells D2, H2, and L2CurrentRow是一个数字。但是在脚本中,您将其用作数组。这就是问题的原因。
    • 为了避免此问题,请从CurrentRow的表中检索值。
  • 当检索到工作表第2行的值时,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>";

参考文献:

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