javascript - Google 脚本不附加电子表格

标签 javascript google-apps-script google-sheets google-sheets-api

我正在尝试编写一个小脚本,以使我的同事和我的生活更轻松。我正在尝试根据输入自定义表单的信息将行附加到电子表格。下面发布的代码只是应该附加谷歌电子表格的 doPost block 。

function doPost(form) { 
  var PN = form.PartNumber;
  var REV = form.Revision;
  var DATE = form.RevisionDate;
  var DESC = form.Description;
  var NOTE = form.PartNotes;
  var URL = form.myFile.getURL();  
  var ss = SpreadsheetApp.openById("ID HERE"); // removed ID for sake of safety (let me be paranoid)
  var sheet = ss.getSheetName('Uploads');
  sheet.appendRow([PN,REV,DATE,DESC,NOTE,URL]);
}

我不确定为什么它没有写入电子表格,但它没有给我带来任何错误。如果您能提供有关问题所在的任何见解,我将不胜感激;网上有很多指南,但大多数似乎都是基于已弃用的函数/代码/等。

感谢您的宝贵时间。

最佳答案

不要使用 doPost,而是设置“在表单提交时”触发器。

您需要获取namedValues才能提取特定值并获取第一个输出。

此外,它应该是“getSheetByName('Uploads')”。

正如前面的答案所指出的,目前尚不清楚您想通过“form.myFile.getURL();”实现什么目的如果您想获取表单 url,您不妨将其创建为字符串,因为它始终保持不变。

这是您的代码的工作示例:

function doPost(form) { 
  var formResponses = form.namedValues;
  var PN = formResponses.PartNumber[0];
  var REV = formResponses.Revision[0];
  var DATE = formResponses.RevisionDate[0];
  var DESC = formResponses.Description[0];
  var NOTE = formResponses.PartNotes[0];

  //var URL = form.myFile.getURL();   //Not sure what you are tyring to get here as form URL will always be the same.
  var URL = "Your form's url";    //You can put the form url in here so it will be pushed in to every row.

  var ss = SpreadsheetApp.openById("ID HERE"); // removed ID for sake of safety (let me be paranoid)
  var sheet = ss.getSheetByName('Uploads');
  sheet.appendRow([PN,REV,DATE,DESC,NOTE,URL]);
}

关于javascript - Google 脚本不附加电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30124803/

相关文章:

javascript - Node.js 控制台中的 `undefined` 是什么意思?

javascript - Google Apps 脚本 - 基于 for 循环匹配的单元格中的 .setValue

csv - 电子表格列的自动 MD5 和十六进制编码

google-apps-script - 与其他用户共享 Google App 脚本 - 请求权限并授权脚本

google-apps-script - 为什么从 webapp url 调用函数在这种情况下不起作用?

android - GoogleAuthUtil.getToken() 没有返回

Javascript mobileMenuToggle 函数需要随网站一起加载

asp.net - 从 ASP.NET 用户控件引发 javascript 事件并在 ASP.NET 页面中处理

javascript - 有没有办法避免将所有参数传递给函数

google-apps-script - Google Apps 脚本库自动完成