Google表格以电子邮件发送范围 [英] Google Sheets Send Range as Email

查看:167
本文介绍了Google表格以电子邮件发送范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在电子邮件中发送一个特定的范围作为PDF附件或HTML表格,单元格a2将具有电子邮件,并且消息应该在范围C7:I25上,这是我迄今为止的内容,我收到错误,找不到收件人,你能帮我吗?

function correoe (){
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 2;
var dataRange = sheet.getRange(startRow,1,numRows,5)
var data = dataRange.getValues();
for(i in data){
var row = data [i];
var emailAddress = row [0];
var message = sheet.getRange(C7:I25);
var subject =Su Cotizacion;
MailApp.sendEmail(emailAddress,subject,message);



$ div $解析方案

  var data = sheet.getRange(C7:I25)。getValues (); 
var message = getTable(data);

函数 getTable 可能如下所示:

 函数getTable(data){
var result = [< table border = 1'>] ;
var ll = data [0] .length;
var row = 0;
for(var i = 0,l = data.length; i <1; i ++){
row = data [i];
result.push(< tr>); (var ii = 0; ii result.push('< td>'+ row [ii] +'< / td>');
;
}
result.push(< / tr>);
}
result.push(< / table>);
return result.join('\\\
');
}



测试



虚拟数据

  [[row 1,cell 1, row 1,cell 2],
[row 2,cell 1,row 2,cell 2]];

虚拟HTML文本输出

 < table border = 1'> 
< tr>
< td>第1行,第1单元< / td>
< td>第1行,第2单元< / td>
< / tr>
< tr>
< td>第2行,第1单元< / td>
< td>第2行,第2单元< / td>
< / tr>



用法

$
$ b

MailApp.sendEmail({
$ b

) b $ b到:emailAddress,
主题:主题,
htmlBody:消息
});


I'm trying to send an specific range as a Pdf attachment or HTML Table in an email, the cells a2 will have the email and the message should be on the range C7:I25, this is what I have so far, I'm getting the error, no recipient found, can you please help me?

function correoe() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;  
  var numRows = 2;   
  var dataRange = sheet.getRange(startRow, 1, numRows, 5)
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    var emailAddress = row[0];  
    var message = sheet.getRange ("C7:I25");
    var subject = "Su Cotizacion";
    MailApp.sendEmail(emailAddress, subject, message);
  }
}

解决方案

You need some function to get html text out of cells.

var data = sheet.getRange ("C7:I25").getValues();
var message = getTable(data);

The function getTable might look like this:

  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');
  }

Test

Dummy data

[["row 1, cell 1", "row 1, cell 2"], 
 ["row 2, cell 1", "row 2, cell 2"]];

Dummy HTML text output

<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

Usage

Need to use this syntax to send an email:

 MailApp.sendEmail({
     to: emailAddress,
     subject: subject,
     htmlBody: message
 });

这篇关于Google表格以电子邮件发送范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆