2012-10-22 68 views
3

我這個簡單的腳本,當一個小區改變onedit爲什麼不能發送電子郵件?

function onEdit(e) { 

var doc = e.source; 

var r = doc.getActiveRange().getValue(); 


if (r == "Niccolò"){ 
var a = doc.getActiveRange().setBackground('#ff0000'); 
var b = GmailApp.sendEmail('[email protected]', 'subject', 'body'); 

} 

}

此功能也改變單元格顏色應該發送電子郵件。 問題是單元格顏色有效,所以它不會發送任何電子郵件。 它看起來很簡單,我不明白爲什麼不起作用!

回答

3

onEdit()onOpen()或onFormSubmit()簡單的觸發器具有有限的一組可能採取的行動,因爲它們運行未經授權,看到the documentation進一步的細節。

所以你描述的這種行爲是正常的。

您應該使用可安裝的觸發器,而不是像在同一文檔頁面中所述的那樣。

這裏是文檔的摘要:

這些簡單的觸發響應在谷歌電子表格的操作運行,它們運行的​​活躍用戶。例如,如果Bob打開電子表格,那麼onOpen函數將作爲Bob運行,而不管誰將腳本添加到電子表格。由於這個原因,簡單的觸發器被限制在允許的範圍內: 當電子表格以只讀模式打開時,它們無法執行。 他們無法確定當前用戶。 他們無法訪問任何需要以該用戶身份進行身份驗證的服務。例如,Google翻譯服務是匿名的,可以通過簡單的觸發器訪問。 Google日曆,Gmail和網站不是匿名的,簡單的觸發器無法訪問這些服務。 他們只能修改當前的電子表格。禁止訪問其他電子表格。 有關事件權限的更多信息,請參閱從容器特定的觸發器執行。

+0

請檢查答案below.thanks – user1765781

相關問題