2014-07-25 560 views
0

我發送的是基於電子表格範圍的自動電子郵件,但是我遇到的問題是看起來不太方便用戶 - 郵件發送出去的值只能用逗號分隔,我希望它們分開顯示。GAS幫助 - 通過電子郵件發送電子郵件

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var vJOresponses = ss.getSheetByName("Responses"); 
var vCodesDay = ss.getSheetByName("Codes") 
var vLength = vJOresponses.getRange("C2").getValue(); 
var vResults = vJOresponses.getRange("D2").getValue(); 
var vemailAddresses = vJOresponses.getRange("B2").getValue(); 
var vsubject = "Here are your Wi-Fi codes!"; 
var dataRangeDay = vCodesDay.getSheetValues(1, 1, vResults, 1); 

MailApp.sendEmail(vemailAddresses, vsubject, dataRangeDay) 

任何人都可以幫忙嗎?

回答

0

有代碼樣本的幾十個例子,這裏SO達到這種效果,就「郵件發送」與谷歌 - 應用程序 - 腳本標籤的快速搜索...

其中之一,有助於創造HTML表格至極甚至更好看不是簡單的\ n是here或也低於here (to take only some I answered ;-)

代碼:

// Sends an email when ....... 
function emailInfoRequired(row) { 
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
    var subject = "Info Needed: " + sheet.getRange("F19").getValues(); 
    var recipients = "[email protected]" 
    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}); 
} 
+0

感謝嗶嘰,能稍微定製此得到我想要的東西。謝謝! – KMJO

1

只要改變:

var dataRangeDay = vCodesDay.getSheetValues(1, 1, vResults, 1); 

到:

var dataRangeDay = vCodesDay.getSheetValues(1, 1, vResults, 1)[0].join('\n'); 
+0

[0]會將顯示的結果限制在範圍中的第一行不是嗎?而且我們不能確定讀取代碼片段的vResults值,但我想它是> 1,否則在原始版本中不會有逗號。 –

+0

這樣做,我只得到塞爾說的第一行。 vResults值只是12個字符的字母數字值,例如, PP6xQB7H35f3 – KMJO