繁体   English   中英

Google Apps 脚本:TypeError:无法读取未定义的属性“值”(第 3 行,文件“代码”)

[英]Google Apps Script: TypeError: Cannot read property 'values' of undefined (line 3, file "Code")

首先,感谢 NEWAZA 编写了这个惊人的代码!

其次,请参考 StackOverflow 链接/问题。

Google Apps脚本自动复制一行逗号出现在保留基本信息的列中的次数?

 function onSubmit(e) {
  Logger.log(JSON.stringify(e.values))
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(`onSubmit`)
  const [timestamp,emailAddress,companyName,_,phoneNumber,firstName,lastName,locations,city,state,zipCode,dateRequested,...rest] = e.values;
  locations.split(`,`).forEach(i => sheet.appendRow([firstName, lastName, i.trim(), city, state, zipCode, dateRequested]))
}

最后,我在代码中遇到错误。 另外,如果我想在 Google 表单中添加新的列或问题,是否会像在脚本中添加标题文本和其他常量一样简单?

通常,您收到的错误表明没有eevent object传递给函数。 我的猜测是您试图在设计要求的表单响应之外运行此功能。 (该函数使用来自表单响应的值,没有表单响应 - 没有值)。

此代码在添加/删除问题方面的最佳维护将是确保每个常量/变量对应于表单响应中的正确值。

在表单响应中查看每个索引、问题和答案的一个方便技巧是将以下代码段添加到onSubmit()函数的顶部:

function onSubmit(e) {

  Object.entries(e.namedValues).forEach(([key, value], index) => {
    Logger.log(`[${index}] "${key}" : "${value}"`) 
  })

  // Rest of code goes here.

}

提交响应后,您可以检查Execution Logs并查看常量/变量应如何对齐。

本质上,您的常量/变量必须等于响应答案。

希望这可以帮助! 如果我遗漏了任何内容,或者您​​需要进一步解释,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM