標記復選框后,我正在嘗試做兩件事
- 將行傳遞到不同的作業表上(有效)
- 向收件人發送電子郵件(這不起作用)
我放了一條 gui 訊息來查看代碼失敗的地方,并且它一直運行到發送電子郵件功能為止。
我嘗試了一個 onEdit 可安裝觸發器,但這會使腳本運行兩次,而且沒有發送電子郵件。
有什么想法嗎?
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);
}
uj5u.com熱心網友回復:
function test(){
MailApp.SendEmail("[email protected]", "Test", "test");
}
只需運行上述函式并驗證您的腳本。只有這樣 onedit 才會發送電子郵件。Onedit 不允許未經身份驗證發送電子郵件。
uj5u.com熱心網友回復:
您的代碼看起來不錯,但您必須將onEdit函式重命名為類似的名稱sendEmailOnEdit以避免觸發器觸發兩次——如果您不這樣做,即使您已經設定了可安裝的觸發器,簡單觸發器仍將處于活動狀態。
電子郵件將從安裝觸發器的帳戶發送。
使用console.log()而不是Ui.alert()使除錯更容易。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/376101.html
標籤:谷歌应用程序脚本
