从Google Spreadsheet发送电子邮件,省略逗号 [英] Send email from Google Spreadsheet omitting the commas
问题描述
所有,
我使用类似下面的脚本从Google电子表格发送电子邮件:
//当.......
函数发送邮件emailInfoRequired(row){
var sheet = SpreadsheetApp.getActiveSpreadsheet()。getActiveSheet();
var subject =Info Needed:+ sheet.getRange(F19)。getValues();
var recipients =email@email.com
var message =< HTML>< BODY>
+< P> + sheet.getRange(K1)。getValues()
+BR> + sheet.getRange(K2)。getValues()
+< / HTML>< / BODY>;
MailApp.sendEmail(收件人,主题,,{htmlBody:message});
}
我想要做的是不使用单个单元格,我想要包括一个范围,如:sheet.getRange(K2:N2)。getValues()
问题是,当我这样做时,电子邮件正文有一个逗号在该范围内的每个细胞之间使电子邮件没有任何意义,加上看起来很丑。我尝试格式化单元格作为纯文本,但没有帮助。有没有办法发送一个范围的电子邮件,而不是显示逗号?
你甚至可以使它更优雅使用这样的html表:
//当.......
函数发送邮件emailInfoRequired (row){
var sheet = SpreadsheetApp.getActiveSpreadsheet()。getActiveSheet();
var subject =Info Needed:+ sheet.getRange(F19)。getValues();
var recipients =testmail@gmail.com
var data = sheet.getRange('A2:C25')。getValues(); //在此处定义范围
var message =' < HTML>< BODY>< table style =background-color:lightblue; border-collapse:collapse; (var row = 0; row< data.length; ++ row){
for(var col()); //最后改变颜色
(var row = 0; row< data.length; ++ row) = 0; col< data [0] .length; ++ col){
message + ='< td>'data [row] [col] +'< / td>';
}
message + ='< / tr>< tr>';
}
message + ='< / tr>< / table>< / body>< / HTML>';
MailApp.sendEmail(收件人,主题,,{htmlBody:message});
$ / code>
插图示例:
All,
I use a similar script to the below to send emails from a google spreadsheet:
// Sends an email when .......
function emailInfoRequired(row) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var subject = "Info Needed: " + sheet.getRange("F19").getValues();
var recipients = "email@email.com"
var message = "<HTML><BODY>"
+ "<P>" + sheet.getRange("K1").getValues()
+ "<BR>" + sheet.getRange("K2").getValues()
+ "</HTML></BODY>";
MailApp.sendEmail(recipients, subject, "", {htmlBody: message});
}
What i would like to do is instead of using single cells,i want to include a range such as: sheet.getRange("K2:N2").getValues()
The problem is, when i do this, the email body has a comma between every cell within that range making the email not make any sense plus look ugly. I tried formatting the cells as plain text but that didnt help. Is there a way to send the email of a range and not show the commas?
You could even make it more elegant by using a html table like this :
// Sends an email when .......
function emailInfoRequired(row) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var subject = "Info Needed: " + sheet.getRange("F19").getValues();
var recipients = "testmail@gmail.com"
var data = sheet.getRange('A2:C25').getValues();// define your range here
var message = '<HTML><BODY><table style="background-color:lightblue;border-collapse:collapse;" border = 1 cellpadding = 5><tr>';// change eventually the color here
for (var row=0;row<data.length;++row){
for(var col = 0;col<data[0].length;++col){
message += '<td>'+data[row][col]+'</td>';
}
message += '</tr><tr>';
}
message += '</tr></table></body></HTML>';
MailApp.sendEmail(recipients, subject, "", {htmlBody: message});
}
Illustration example :
这篇关于从Google Spreadsheet发送电子邮件,省略逗号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!