用于添加预填充文字的Google表单脚本

时间:2017-07-05 21:10:56

标签: google-apps-script google-form

我有一张表格,我的员工用它来发送数据。

其中一个部分是"长答案文字"任何评论的方框。

通常没有评论,所以留空。

我的问题是 -

有没有办法自动预填谷歌形式的文字以及如何填写?

我使用了预填充链接但是如果用户决定提交另一个表单(他们总是这样做),则会将它们带回原始表单链接而不是预填充链接。

此数据会发送到电子表格,其中包含带有最新数据的自定义信息中心。

如果注释列中有空白,它将获取列部分中的最后一个非空白单元格,并为该数据发出错误的注释。

我还没有找到一种方法来填充所有空白单元格"没有评论"在谷歌工作表中没有填写所有尚未用于谷歌表格提交的单元格。想象一下,从谷歌表格而不是谷歌表单开始使用任何脚本魔法可能更容易。

提前谢谢

2 个答案:

答案 0 :(得分:0)

是的,这是可能的,您可以使用单独的电子表格作为预填表格的输入,而不必更改。

对于与您here有很多共性的问题,已经有答案。

首先尝试一下。如果您尝试编写脚本并且无法更进一步,则可以在此处提交您尝试过的代码,我们可以为您提供进一步的帮助。在SO询问问题之前,请先自己尝试一下。

答案 1 :(得分:0)

一些想法。

首先,你写道:

  

我使用了预填充链接但是如果用户决定提交   另一种形式(他们总是这样),它会把他们带回去   原始表单链接,而不是预填充链接。

要处理此问题,请在演示文稿选项卡中的表单设置中删除此选项。然后,您的用户将只能使用您提供的预填充链接。

其次,为了处理用户删除预填充文本的情况(或者他们发现未预填充的表单链接并使用该文本链接),您可以编写一个脚本,在表单提交时触发以检查此值并替换“没有评论”的任何空白。

该脚本应附加到收集表单响应的电子表格中。

以下是一些可能对您有用的粗略代码......

function onFormSubmit_noComments(e) {
  var col = 5 //replace this with your column number for the comments field (1st column is 1)
  var row = e.range.getRow(); //The row in the spreadsheet that was just inserted
  var commentsCell = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(row, col);
  var answers = e.range.getValues();

  if (!answers[0][col - 1]) {//this will fire if the field was left blank
     commentsCell.setValue("No Comment");   
  }
}
相关问题