我希望在將某些內容添加到 K 列中任何位置的單元格時發送一封電子郵件,但在該單元格被清除時不發送。這可能嗎?這是我到目前為止所擁有的。當我編輯單元格 K1 時,電子郵件發送正常(它僅限于此單個單元格進行測驗),但當我清除此單元格時,它也會發送一封電子郵件。感謝您的任何建議,正如您所看到的,我主要只是在這里猜測。
function sendEmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet4 = ss.getSheetByName('Copy');
var emailAddress = sheet4.getRange(2,12).getValue();
var subject = sheet4.getRange(2,13).getValue();
var message = sheet4.getRangeList(['G1', 'G2', 'G3', 'G4', 'G5', 'G6', 'G7', 'G8'])
.getRanges()
.map(range => range.getDisplayValue())
.join('\n');
MailApp.sendEmail(emailAddress, subject, message);
}
function onEdit(e) {
if(e.range.rowStart === 1 && e.range.columnStart === 11) {
var sh = e.source.getActiveSheet();
if(sh.getName() === 'Copy') {
sendEmail()
}
}
}
uj5u.com熱心網友回復:
捎帶 Karla 的回答,通常當您洗掉單個值時,事件物件 ( e) 沒有value鍵。所以,
嘗試:
function onEdit(e) {
if (e.source.getActiveSheet().getName() === `Copy`) {
if (e.range.rowStart === 1 && e.range.columnStart === 11) {
if (`value` in e) sendEmail()
}
}
}
uj5u.com熱心網友回復:
也許添加到“if”中,如果值與空值不同,它將不會執行代碼
不確定哪個行或范圍屬于 K,所以我將其命名為“Range_in_K”
if(e.range.rowStart === 1 && e.range.columnStart === 11 && Range_in_K != "")
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/484802.html
下一篇:MySQL電子郵件過濾
