通过电子邮件将表格中的不同范围发送给不同的人

时间:2019-02-07 08:39:46

标签: email google-sheets

嗨,我有以下代码,向我发送了有关问题“ B2:C25”的电子邮件。该脚本只是我在另一个问题上发现的一组脚本,因此我认为某些脚本可能实际上并没有为我做任何有成效的工作,但它确实有效(但未在工作表中格式化)。我的主要问题是:

我可以一个接一个地运行多个脚本以将工作表中的不同范围通过电子邮件发送给不同的人吗?

所以我的下一个范围是'D2:E25'。

我能简单地再次在下面的脚本中粘贴并修改范围和引用的电子邮件地址吗?

还是应该将范围划分到不同的工作表上,并且每张纸做一个脚本? (从工作表中选择一个电子邮件地址(例如在单元格B1中而不是在代码中指定)也很有用)。非常感谢您的宝贵时间。

    function sendMail(){
    var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
    var data = sh.getRange("B2:C25").getValues();
  //var htmltable =[];

    var TABLEFORMAT = 'cellspacing="2" cellpadding="2" dir="ltr" border="1" style="width:100%;table-layout:fixed;font-size:10pt;font-family:arial,sans,sans-serif;border-collapse:collapse;border:1px solid #ccc;font-weight:normal;color:black;background-color:white;text-align:center;text-decoration:none;font-style:normal;'
    var htmltable = '<table ' + TABLEFORMAT +' ">';

    for (row = 0; row<data.length; row++){

    htmltable += '<tr>';

    for (col = 0 ;col<data[row].length; col++){
    if (data[row][col] === "" || 0) {htmltable += '<td>' + '' + '</td>';} 
    else
    if (row === 0)  {
    htmltable += '<th>' + data[row][col] + '</th>';
    }

    else {htmltable += '<td>' + data[row][col] + '</td>';}
    }

    htmltable += '</tr>';
    }

    htmltable += '</table>';
    Logger.log(data);
    Logger.log(htmltable);
    MailApp.sendEmail(Session.getActiveUser().getEmail(), 'Lost from care 
report','' ,{htmlBody: htmltable})
    }

    function convSheetAndEmail(rng, email, subj)
    {
    var HTML = SheetConverter.convertRange2html(rng);
    MailApp.sendEmail(email, subj, '', {htmlBody : HTML});
    }

    function doGet()
    {
  // or Specify a range like A1:D12, etc.
    var dataRange = SpreadsheetApp.getActiveSpreadsheet().getDataRange();

    var emailUser = 'myemailaddress@hotmail.com';

    var subject = 'Lost from care report';

    convSheetAndEmail(dataRange, emailUser, subject);
    }

0 个答案:

没有答案