我们目前有一个应用程序脚本,当在 Google 表格中选中复选框时,该脚本会自动发送电子邮件。我们有一个“消息”列,应用程序脚本从中提取以创建电子邮件正文。当电子邮件发送时,整个正文只是纯文本。我希望能够将“消息”列中的一些文本设置为红色,将一些文本设置为黑色(在同一单元格内),然后让它发送带有相应红色和黑色文本的电子邮件。这可以做到吗?我附上下面的应用程序脚本:
function onCheckboxEdit(e) {
var source = e.source
var sheet = source.getActiveSheet();
var range = e.range
var row = range.getRow();
var column = range.getColumn();
console.log("column:: ", column);
var targetRange = sheet.getRange( row, 1, 1, 5)
var targetValues = targetRange.getValues();
console.log("targetRange:: ", targetValues);
var recipient = targetValues[0][2];
var checkboxValue = targetValues[0][3];
var body = targetValues[0][4];;
var subject = "New Traveler Coverage Update"
var cc = targetValues[0][5]
if(column = 4 && checkboxValue == true) {
console.log("checkbox marked true")
GmailApp.sendEmail(recipient, subject, body, {
cc: "[email protected]"
});
} else if (column = 4 && checkboxValue == false) {
console.log("checkbox marked false")
} else {
console.log("No clue")
}
}
这是我们获取应用程序脚本的视频链接: https://www.youtube.com/watch?v=v_DCrKkzRSg
我发现的所有内容都不包含复选框触发器
使用事件对象值
function onCheckboxEdit(e) {
const sheet = e.range.getSheet();
const tvs = sheet.getRange( e.range.rowStart, 1, 1, 5).getValues().flat();
let recipient = tvs[2];
let checkboxValue = tvs[3];
let body = tvs[4];;
let subject = "New Traveler Coverage Update"
let cc = tvs[5]
if(e.range.columnStart = 4 && checkboxValue == true) {
GmailApp.sendEmail(recipient, subject, body, {cc: cc});
}
}