![](/img/trans.png)
[英]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.