Я разрабатываю программу скрипта приложений, в которой пользователь выбирает флажок в листе Google, и когда я нажимаю кнопку Appscript, она создает черновик электронной почты в Gmail. В настоящее время он работает должным образом. Тем не менее, результат не соответствовал моим ожиданиям. < /P>
У меня есть этот образец таблицы листов Google. < /P>
Таблица класс = "s-table">
picname < /th>
trade < /th>
lane < /th>
vname < /th>
< /tr>
< /thead>
mf < /td>
import < /td>
l1 < /td>
samplevn23 < /td> < /tr>
dh < /td>
tp < /td>
l2 < /td>
vn1
v2 < /td>
< /tr>
mg < /td>
Sr
jazz
dx < /td>
l3
l4
l5 < /td>
образец один
Пример два
sample 3 < /td>
< /tr>
< /tbody>
< /table> < /div>
Мой текущий Код генерирует черновик на основе выбранного флажести и соответственно отражает данные; Однако, если ячейка содержит много различных данных (например, в строке 3), формат отображения электронной почты не обновляется должным образом. br /> (если я выбрал строку 3 в листе Google) < /p>
Dear All,
Good day!
Here is the data.
MG, SR, L3, SAMPLE ONE
MG, JAZZ, L4, SAMPLE TWO
MG, DX, L5, SAMPLE 3 "
< /code>
Но результат, который я получаю: < /p>
"Dear All,
Good day!
MG
SR
JAZZ
DX
L3,
L4
L5
SAMPLE ONE
SAMPLE TWO
SAMPLE 3 "
< /code>
Вот мой код. Спасибо! < /P>
function createDraftEmail() {
var ui = Browser.msgBox('Confirm Draft Creation', 'Are you sure you want to create the email draft?', Browser.Buttons.YES_NO);
// Process the user's response
if (ui == 'yes') {
try {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Main");
if (!sheet) {
throw new Error("Sheet 'Main' not found.");
}
var data = sheet.getDataRange().getValues();
var emailSubject = "Notification"; // Customize the email subject
var emailBodyTemplate = "Dear All Concerned,
Please be informed that we have completed all necessary processes for sending as below.
"; // Customized message
var emailBody = emailBodyTemplate;
var checkboxSelected = false;
for (var i = 1; i < data.length; i++) {
if (data[0] === true) { // Assuming the checkbox is in the first column
Logger.log("Checkbox selected in row " + (i + 1));
sheet.getRange(i + 1, 1, 1, sheet.getLastColumn()).setBackground("#d9ead3"); // Highlight processed row
sheet.getRange(i + 1, 1).setValue(false); // Uncheck the box
checkboxSelected = true;
var PICName = data[23]; // Get the name from column 23 of the current row
var Trade = data[2];
var Lane = data[3].toString().split("
");
var VName = data[4].toString().split("
");
Logger.log(VName);
for (var j = 0; j < VName.length; j++) {
var Lanes = Lane[0];
var Trades = Trade;
var PICNames = PICName;
var VNames = VName[j] || '';
Logger.log(`Adding line: ${PICNames}, ${Trades}, ${Lanes}, ${VNames}`);
emailBody += `${PICNames}, ${Trades}, ${Lanes}, ${VNames}
`; // Add break line between entries
}
}
}
if (checkboxSelected) {
var recipient = ""; // Customize the recipient
emailBody =
`
Details` +
`PICName Trade Lanes VNames
` +
`------------------------------------------------------------------------------------------------------
` +
emailBody +
"
Best Regards,
" + PICName
GmailApp.createDraft(recipient, emailSubject, "", {htmlBody: emailBody});
Logger.log("Draft email created successfully.");
// Show UI alert
Browser.msgBox('Success!', 'Draft email created successfully.', Browser.Buttons.OK);
} else {
Logger.log("No rows with checked checkboxes found.");
Browser.msgBox('Failed', 'No rows with checked checkboxes found. No draft created.', Browser.Buttons.OK);
}
} catch (error) {
Logger.log("Error: " + error.message);
// Show UI alert for error
Browser.msgBox('Error: ' + error.message);
}
} else {
Browser.msgBox('Cancelled!', 'Draft creation canceled.', Browser.Buttons.OK);
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... google-she
Как правильно отформатировать тело электронной почты при создании черновиков Gmail из данных Google Sheets в скрипте при ⇐ Html
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение