2016-01-23 69 views
0

當O列單元格中提到「已裝船」我想給在C列電子郵件(與對應的行)OnEdit需要從一列發送電子郵件

需要支持,讓這個腳本

function sendEmail(e) { 
    var thisSheet = e.source.getActiveSheet(); 
    if (thisSheet.getName() !== 'CRM' || e.range.columnStart !== 15 || e.range.rowStart == 1 || e.value !== 'Shipped') return; 
    var body, headers = thisSheet.getRange(1, 1, 1, 6) 
     .getValues()[0], 
     thisRow = thisSheet.getRange(e.range.rowStart, 1, 1, 6) 
     .getValues()[0], 
     recipientsEMail = (thisSheet.getRange.columnStart !==3 || e.range.rowStart ==1) 
     .getValues()[0], 
     recipients = recipientsEMail, 
     subject = "Your Vehicle is shipped " + e.source.getName(), 
     body = "", 
     i = 0; 
    while (i < 6) { 
     body += headers[i] +' - ' + thisRow[i] +'\n'; 
     i++; 
    } 

    MailApp.sendEmail(recipients, subject, body); 
} 

My sheet

回答

2

見,如果這個工程:

function sendEmail(e) { 
var thisSheet = e.source.getActiveSheet(); 
if (thisSheet.getName() !== 'CRM' || e.range.columnStart !== 15 || e.range.rowStart == 1 || e.value !== 'Shipped') return; 
var body, headers = thisSheet.getRange(1, 1, 1, 15) 
    .getValues()[0], 
    thisRow = thisSheet.getRange(e.range.rowStart, 1, 1, 15) 
    .getValues()[0]; 
    var recipients = thisRow[2]; 
    var subject = "Your Vehicle is shipped " + e.source.getName(), 
    body = "Dear Customer,\n\nYour vehicle has been shipped from Japan"; 


MailApp.sendEmail(recipients, subject, body); 
} 

你D沒有說你需要使用多少列來構建電子郵件的主體,但是如果增加while循環中的數字,可以輕鬆更改這些列。

+0

感謝JPV,它的工作原理,我希望發送郵件正文中沒有列內容的自定義消息。類似這樣的「親愛的客戶,您的車輛已從日本運出」 –

+0

編輯我的迴應以反映您的最新要求。 – JPV