如何使用粗体文本通过电子邮件发送谷歌表格数据

时间:2015-01-30 21:48:16

标签: javascript google-apps-script google-sheets

我目前正在使用以下脚本让google电子表格通过电子邮件发送我的谷歌表格回复给我。电子邮件中的所有文本都是纯文本,但我希望标题是粗体文本。我已经尝试了几种将粗体文本的java命令添加到代码中以实现此目的的变体,但我基本上猜测因为我没有代码编写经验。是否可能,我的脚本应该如何成功?谢谢。

function sendFormByEmail(e) {
    var emailSubject    = "MOD Report";  

    // Set with your email address or a comma-separated list of email addresses.
    var yourEmail       = "xxxx@xxxx.com";

    // Set with your spreadsheet's key, found in the URL when viewing your spreadsheet.
    var docKey          = "xxxx-xxxx-xxxx-xxxx";

    // If you want the script to auto send to all of the spreadsheet's editors, set this value as 1.
    // Otherwise set to 0 and it will send to the yourEmail values.
    var useEditors      = 0;

    // Have you added columns that are not being used in your form? If so, set this value to 
    // the NUMBER of the last column that is used in your form.
    // for example, Column C is the number 3
    var extraColumns    = 0;

    if (useEditors) {
        var editors = DocsList.getFileById(docKey).getEditors();
        if (editors) { 
            var notify = editors.join(',');
        } else var notify = yourEmail;
    } else {
        var notify = yourEmail;
    }

    // The variable e holds all the submission values in an array.
    // Loop through the array and append values to the body.

    var s = SpreadsheetApp.getActive().getSheetByName("FormResponses1");
    if (extraColumns){
        var headers = s.getRange(1,1,1,extraColumns).getValues()[0];
    } else var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];

    var message = "";
    for(var i in headers) {
        message += headers[i] + ' = '+ e.values[i].toString() + '\n\n'; 
    }

    MailApp.sendEmail(notify, emailSubject, message); 
}

2 个答案:

答案 0 :(得分:0)

您需要使用 htmlBody 高级参数。

Google Documentation - Class MailApp

以下是一些示例代码:

注意:HTML粗体标记:<b>text here</b>

function sendEmail() {

  var message = "This is <b>the</b> message";

  MailApp.sendEmail({
    to: "theEmail@example.com",
    subject: "This is the subject line",
    htmlBody: "<br>" +
              "inline text" +
              message,
  });
}

答案 1 :(得分:0)

您需要替换此代码段:

for(var i in headers) {
    message += headers[i] + ' = '+ e.values[i].toString() + '\n\n'; 
}

MailApp.sendEmail(notify, emailSubject, message); 

用这个:

for(var i in headers) {
    message += "<b>" + headers[i] + '</b> = '+ e.values[i].toString() + '<br>'; 
}

MailApp.sendEmail(notify, emailSubject, "", {htmlBody:message});