Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 使用Google工作表创建一个响应表,将响应保存在另一个工作表中_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 使用Google工作表创建一个响应表,将响应保存在另一个工作表中

Google apps script 使用Google工作表创建一个响应表,将响应保存在另一个工作表中,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正试图用谷歌表单创建一个响应表,让人们输入他们的响应。然后,按照前面响应底部的指定列将该信息编译到另一个Google工作表中 我尝试了很多方法,但我似乎无法让脚本正常工作 分解后,我需要脚本/指南能够: 允许多人通过Google表单的给定链接单独记录他们的响应 在总计行中给出一个动态总和 具有添加行图标,以便响应者动态添加行并自行选择输入 创建一个提交图标,记录对另一个google工作表的响应 下面是预期的表格 这可能是一个简单的问题,我听不出任何解决方案,请看看这是否适用于您。 functi

我正试图用谷歌表单创建一个响应表,让人们输入他们的响应。然后,按照前面响应底部的指定列将该信息编译到另一个Google工作表中

我尝试了很多方法,但我似乎无法让脚本正常工作

分解后,我需要脚本/指南能够:

允许多人通过Google表单的给定链接单独记录他们的响应 在总计行中给出一个动态总和 具有添加行图标,以便响应者动态添加行并自行选择输入 创建一个提交图标,记录对另一个google工作表的响应 下面是预期的表格


这可能是一个简单的问题,我听不出任何解决方案,请看看这是否适用于您。
function sendData() {           

  var sprsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = sprsheet.getActiveSheet();

  var range = sheet.getRange("A2:G4");
  var values = range.getValues();

  var mainsprsheet = SpreadsheetApp.openById("main sheet id"); 

// 1. this "main sheet id" should say something like: "1cQTBONtpLiMbRmtVgSyOT_mShzzwbrX7-w46zy9w9I4", you can xopy/paste the id from your address bar in your browser

// ==> https://docs.google.com/spreadsheets/d/1cQTBONtpLiMbRmtVgSyOT_mShzzwbrX7-w46zy9w9I4/edit?ts=5ed39726#gid=0

  var targetSheet = mainsprsheet.getActiveSheet();

targetSheet.appendRow(values); 

// 2. appendRow() accepts an array like for example this array with strings ["Fabric Code", "Thickness","Width","Length","Finish","Quality type","Quantity"]

// method getValues() returns an array of arrays (or 2D array) like for example this one[["Fabric Code", "Thickness","Width","Length","Finish","Quality type","Quantity"]]

  // Think of the outer [..] as row indicator and the inner [..] as the array that holds the columns(fields) of the record.

    // i would change your code to: (remove the //s)
    // var lr = targetSheet.getLastRow()
    // var lc = targetSheet.getLastColumn()
    // targetSheet.getRange(lr+1 , 1, values.length, values[0].length).setValues(values)
    //Clear the cells (optional)
      range.clearContent();

}
1.允许多人通过Google表单的给定链接单独记录他们的响应

您需要共享一份电子表格。不要分享原作。在您发布的URL中,将“编辑”替换为“复制”

经修改的查询表格 2.当用户使用onEdit函数记录其输入时,在总计行中提供动态总和。 3.具有添加行和删除行图标,以便响应者动态添加和删除行,并自行选择输入。要添加行,活动行号应为4或以上 4.创建一个PlaceOrder图像,将响应附加到另一个google工作表 要实现第4点,您需要创建一个只有一行的单独电子表格。这用作列标题,可以采用如下所示的形式。此电子表格包含所有用户响应的详细信息。


注意:当用户单击“提交”按钮时,自动更新电子表格将要求您至少通过具有编辑器访问权限的电子邮件地址使电子表格可共享。这可能是一种不安全的保存用户响应的方法。

能否举例说明您尝试了什么以及在哪里遇到了问题?