[英]TypeError: Cannot read property “namedValues” from undefined. (line 9, file “Code”)
[英]TypeError: Cannot read property “values” from undefined. (line 9, file “Code”)
function onInstall(e) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName('Form'); var Timestamp = e.values[0]; var Load = e.values[1]; var Email = e.values[2]; var Location = e.values[3]; var template = HtmlService.createHtmlOutputFromFile("notification"); template.Location = Location; MailApp.sendEmail(Email, "subject", "", { HtmlBody: template.evaluate().getContent() }); }
我已經寫了這個小程序。 每次用戶編輯電子表格。 它應該運行觸發器並向列中提到的電子郵件地址發送電子郵件。 我的編碼不好。 但是請幫我解決這個問題,我已經嘗試了很久了。
function() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetName('Form'); } function onEdit(e) { var Timestamp = e.values[0]; var Load = e.values[1]; var Email = e.values[2]; var Location = e.values[3]; MailApp.sendEmail(Email, "check In Call", "location"); }
2件事:
您應該在編輯(實時)時測試代碼,並設置可安裝的onEdit觸發器(腳本編輯器菜單/資源/此項目觸發器/添加新觸發器)
您也可以使用代碼“模擬”事件,有關詳細信息,請參見Mogsdad的答案 。
有很多原因導致此腳本無法運行。 而是修復錯誤,我從頭開始為您編寫了代碼段,然后我將嘗試解釋為什么當前不能逐行運行。
首先,這是一些工作代碼:
function onEdit(e) {
var activateSheet = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(activateSheet.getSheetByName('Form'));
var sheet = SpreadsheetApp.getActiveSheet();
var row = e.range.getRowIndex();//Gets the row the change was made to.
var timestamp = sheet.getRange(row, 1).getValues(); //Gets the email
var load = sheet.getRange(row, 2).getValues(); //Gets the email
var email = sheet.getRange(row, 3).getValues(); //Gets the email
var location = sheet.getRange(row, 4).getValues(); //Gets the email
MailApp.sendEmail(email, "Check In Call", location);
}
“ Load”和“ Timestamp”字段似乎並不需要您想要的內容,但是我還是把它們留了下來,因為也許您需要它們。
以下是對您不起作用的事情的列表:
附帶說明:我從語法錯誤中感覺到您不熟悉Javascript。 在嘗試使用Google Apps腳本進行任何操作之前,我建議您先熟悉Javascript,以避免嘗試完成簡單操作時浪費很多時間和沮喪的時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.