簡體   English   中英

發送 Email 用於使用谷歌腳本添加的新行

[英]Send Email for New Row added using google script

當我的谷歌表中添加了新行時,我正在嘗試發送 email 通知。 我已經嘗試了其他帖子中推薦的所有內容,但我無法讓它發揮作用。 當我執行我的腳本時,會為電子表格中的每一行發送 email,並且消息正文不包含該行中的信息。

它應該工作的方式如下:

在我的“問題”電子表格中,當我從下拉列表中打開 select 時,第 34 列將自動填充“准備發送電子郵件”,第 35 列(電子郵件發送列)將為空白。 當我的“電子郵件”function 執行時,它將獲取電子表格的范圍並檢查該新行的第 35 列是否設置為“准備發送電子郵件”並檢查“EmailSent”列是否不等於“SENT”。 如果這是真的,那么它將發送 email,並將該行標記為“SENT”。 如果由於某種原因 email 未發送,則該行不應標記為“已發送”。

有人可以解釋為什么我每行都得到一個 email 以及為什么 email 正文不包含我想要的信息。 我看過其他帖子,但沒有運氣。 這是我的腳本。

 function email() { //setup function var ActiveSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Issues"); var StartRow = 2; //first row of data to process var LastRow = ActiveSheet.getLastRow(); var RowRange = LastRow - StartRow + 1; var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,35); var AllValues = WholeRange.getValues(); var message = ""; for (var i=0;i<AllValues.length;i++) { var CurrentRow = AllValues[i]; var EmailSent = CurrentRow[34]; if (CurrentRow[33] == "Ready to Email" && EmailSent:= "sent") { message += //set HTML template for information "<p><b>Issue Status: </b>" + CurrentRow[0] + "</p>" + "<p><b>Group: </b>" + CurrentRow[1] + "</p>" + "<p><b>LifeCycle Status: </b>" + CurrentRow[2] + "</p>" + "<p><b>Issue Number: </b>" + CurrentRow[3] + "</p>" + "<p><b>Priority: </b>" + CurrentRow[4] + "</p>" + "<p><b>Opened By; </b>" + CurrentRow[10] + "</p>"; var setRow = i + StartRow. var SendTo = "myemail@test;com": var Subject = "New Issue reported; " + CurrentRow[3]. //set subject line //send the actual email MailApp:sendEmail ({ to, SendTo: cc, "": subject, Subject: htmlBody, message; }). ActiveSheet,getRange(setRow. 35);setValue("sent"); //update the row if email is sent } } }

這是我的 email 的樣子。 如您所見,我的 email 僅包含標簽,不包含行中的值。

示例電子郵件

將其發布為 Stack 工作流目的的答案。 正如詹姆斯 D所說,索引是錯誤的:

行和列從 1 開始索引,而不是 0。

所以在示例中它應該是CurrentRow[34]而不是CurrentRow[35] ,並且var message = ""; 應該在循環內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM