Email Google Sheets通过电子邮件发送范围
我正试图发送一个特定的范围作为Pdf附件或HTML表在电子邮件中,单元格a2将有电子邮件和邮件应在范围C7:I25,这是我到目前为止,我得到的错误,没有找到收件人,你能帮助我吗Email Google Sheets通过电子邮件发送范围,email,google-apps-script,google-sheets,Email,Google Apps Script,Google Sheets,我正试图发送一个特定的范围作为Pdf附件或HTML表在电子邮件中,单元格a2将有电子邮件和邮件应在范围C7:I25,这是我到目前为止,我得到的错误,没有找到收件人,你能帮助我吗 函数相关(){ var sheet=SpreadsheetApp.getActiveSheet(); var startRow=2; var numRows=2; var dataRange=sheet.getRange(startRow,1,numRows,5) var data=dataRange.getValues
函数相关(){
var sheet=SpreadsheetApp.getActiveSheet();
var startRow=2;
var numRows=2;
var dataRange=sheet.getRange(startRow,1,numRows,5)
var data=dataRange.getValues();
对于(数据中的i){
var行=数据[i];
var emailAddress=行[0];
var消息=sheet.getRange(“C7:I25”);
var subject=“Su Cotizacion”;
MailApp.sendmail(电子邮件地址、主题、消息);
}
}
您需要一些函数来从单元格中提取html文本
var data = sheet.getRange ("C7:I25").getValues();
var message = getTable(data);
函数getTable
可能如下所示:
function getTable(data) {
var result = ["<table border=1'>"];
var ll = data[0].length;
var row = 0;
for(var i = 0, l = data.length; i < l; i++) {
row = data[i];
result.push("<tr>");
for(var ii = 0; ii < ll; ii++){
result.push('<td>' + row[ii] + '</td>');
}
result.push("</tr>");
}
result.push("</table>");
return result.join('\n');
}
虚拟HTML文本输出
<table border=1'>
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table
上述代码正在单元格
A2
和A3
中查找电子邮件。您在A3
中有电子邮件地址吗?我相信A3中没有电子邮件,因此您的emailAddress
变量为空,因此您会收到错误未找到收件人
。请分享您的电子表格的外观示例,以了解您试图实现的目标。非常感谢您的回复,我尝试做的大部分工作是从sheet Query中复制C7:I25范围,并将其作为图片或HTML表格通过电子邮件发送到sheet email中A2上的地址,下面的文件,以便您可以有一个更好的想法:有时您需要一些格式,因为您需要通过电子邮件的信息是透视表,所以我做了一个简单的更改。
<table border=1'>
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table
MailApp.sendEmail({
to: emailAddress,
subject: subject,
htmlBody: message
});