[英]Send personalise email from google sheet
我很難根據下表編寫腳本來發送 email
“agent ldap”是收件人,“TL ldap”是 CC,rest 4 列在消息內作為表格
我希望消息如下:
您好,請關注您對我們已注冊的請求的反饋:
包含 C、D、E 和 F 列的表格
你已經可以檢查了
我的主要困難是導致行數可能會改變(不超過五行),這三種方式的狀態也可以改變。 我將復制此表上的值,然后發送 email。
有沒有辦法根據名稱為 F 列添加條件語句,為背景添加顏色? 因為我也想把這一列包括在桌子上。
我的腳本是:
function VacationRequest() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var startRow = 2; // First row of data to process
var numRows = 2; // Number of rows to process
var dataRange = sheet.getRange(startRow, 1, numRows, 2);
// Fetch values for each row in the Range.
var data = dataRange.getValues();
var emailRecipients = data[0] + "@google.com";
var CCEmail = data[1] + "@google.com";
var emailSubject = "Vacation request";
var emailBody = "Hello, follow your feedback regarding your requests that we have registered: \
\
"The table with the columns C, D, E and F"
\
You can already check"
MailApp.sendEmail({
to: emailRecipients,
subject: emailSubject,
htmlBody: emailBody,
CC: CCEmail
});
}
您可以使用新的 Javascript 模板文字 ->` 在 HTML 中構建表。
這是一個在 for 循環中構建表的示例,該表使用純文本后備正文檢查 F 列中的值:
function myFunction() {
let ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let rows = ss.getDataRange().getValues();
for (let i in rows) {
let bg_color;
switch(rows[i][5]) {
case 'Reflected':
bg_color = 'green';
break;
case 'Rejected':
bg_color = 'pink';
break;
case 'Pending':
bg_color = 'orange';
break;
default:
bg_color = 'white';
}
let htmlBody = `
<p>Hello, follow your feedback regarding your requests that we have registered:<\/p>
<table>
<tr>
<th>From the<\/th><th>to the (included)<\/th><th>Date of request<\/th>
<\/tr>
<tr>
<td>
${rows[i][2]}
<\/td>
<td>
${rows[i][3]}
<\/td>
<td>
${rows[i][4]}
<\/td>
<td style="background-color: ${bg_color}">
${rows[i][5]}
<\/td>
<\/tr>
<\/table>
<p>You can already check<\/p>`;
let body = `
Hello, follow your feedback regarding your requests that we have registered:
${rows[i][2]}, ${rows[i][3]}, ${rows[i][4]} .
You can already check.`;
let options = {
"htmlBody": htmlBody
}
MailApp.sendEmail(rows[i][1], "Vacation request", body, options);
}
}
這是你想要的:
function VacationRequest() {
var sheet = SpreadsheetApp.getActive();
var startRow = 2;
var numRows = 2;
var dataRange = sheet.getRange(startRow, 1, numRows, 2);
var data = dataRange.getValues();
for(var i=0;i<data.length;i++) {
var emailRecipients = data[i][0] + "@google.com";
var CCEmail = data[i][1] + "@google.com";
var emailSubject = "Vacation request";
var emailBody = "Hello, follow your feedback regarding your requests that we have registered: You can already check";
MailApp.sendEmail({to: emailRecipients,subject: emailSubject,htmlBody: emailBody,CC: CCEmail});
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.