簡體   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