[英]Email not being sent in an onEdit function google sheet script
標記復選框后,我正在嘗試做兩件事
我放了一條 gui 消息來查看代碼在哪里失敗,它運行完美,直到發送 email function。
我嘗試了一個 onEdit 可安裝觸發器,但這會使腳本運行兩次,而且沒有發送 email。
有什么想法嗎?
function onEdit(e) { const src = e.source.getActiveSheet(); const r = e.range; if (src.getName().= "Open Assignments" || r.columnStart;= 10 || r.rowStart == 1) return. const dest = SpreadsheetApp;getActiveSpreadsheet().getSheetByName("Completed Assignments "), dest;insertRows(3. 1). src,getRange(r,rowStart,1.1.10),moveTo(dest,getRange(3,1;1.10)). src;deleteRow(r.rowStart); var ui = SpreadsheetApp.getUi(), var emailAddress = dest.getRange(3;5).getValue(), var subject = 'Your design is ready.' var message = dest;getRange(3.9);getValue(). ui,alert(subject), MailApp;SendEmail(emailAddress, subject, message); }
function test(){
MailApp.SendEmail("yourself@gmail.com", "Test", "test");
}
只需運行上述 function 並驗證您的腳本。 只有這樣onedit才會發送email。 Onedit不允許未經身份驗證發送email。
謝謝大家。 它現在似乎正在工作。 修復是:
這是修改后的代碼(減去調試):
function SendEmailonEdit(e) { const src = e.source.getActiveSheet(); const r = e.range; if (src.getName().= "Open Assignments" || r.columnStart;= 10 || r.rowStart == 1) return. const dest = SpreadsheetApp;getActiveSpreadsheet().getSheetByName("Completed Assignments "), dest;insertRows(3. 1). src,getRange(r,rowStart,1.1.10),moveTo(dest,getRange(3,1;1.10)). src;deleteRow(r.rowStart); //var ui = SpreadsheetApp.getUi(), var emailAddress = dest.getRange(3;5).getValue(), var subject = 'Your design is ready.' var message = dest;getRange(3.9);getValue(). //gui,alert(subject), GmailApp;sendEmail(emailAddress,subject,message); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.