首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google表单对现有Google工作表列的响应并维护现有格式

问Google表单对现有Google工作表列的响应并维护现有格式
EN

Stack Overflow用户
提问于 2019-01-04 02:12:47
回答 1查看 2.5K关注 0票数 0

我有一个现有的谷歌表单,我希望:

图1.谷歌表单问题。

1)在此现有的上自动填充表单( 1,列C)中的问题(您的姓名)。

图2. google表单数据必须进入的位置

2)每个google表单提交生成的时间戳,以YYYY DD格式自动填充(Sheet 1,列E)。

3)虽然这些google表单响应将记录在此电子表格中,但有时我也必须手动进入,并在随后的行中输入信息。

这有可能做到吗?我是个新手,把谷歌表格中的数据输入谷歌表格,有人能帮我解决上面的问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-04 21:18:11

好吧。几件事。

  1. 转到工具菜单>脚本编辑器。
  2. 命名脚本(可能是“表单提交”吗?)通过单击编辑器左上角的“UnitedProject”文本。
  3. 用下面的代码替换code.gs中的所有文本。(在指定的地方更改代码)。
  4. 然后转到编辑>当前项目的触发器。
  5. 单击“设置无触发器”的链接。现在单击此处添加一个.
  6. 在“运行”下,选择onSubmit。
  7. 在Events下,选择on form submit。
  8. 单击保存。
  9. 现在你应该回到编辑器,按下播放按钮。这将运行该函数并启动授权过程。通过提示单击并接受。

现在,每次提交表单时,都会复制表单的名称和时间戳。

代码语言:javascript
复制
function onSubmit() {

    var spreadsheet = SpreadsheetApp.getActive();

    var responseSheet = spreadsheet.getSheetByName('Form Responses 1');
    var copyToSheet = spreadsheet.getSheetByName('Target');

    var rLastRow = responseSheet.getLastRow();
    var tLastRow = copyToSheet.getLastRow() + 1;
    var lastCol = responseSheet.getLastColumn();

    var values = responseSheet
        .getRange(rLastRow, 1, 1, lastCol)
        .getValues()[0];

    var timestamp = Utilities.formatDate(new Date(values[0]), Session.getScriptTimeZone(), 'yyyy-MM-dd');

    var name = values[1];

    copyToSheet.getRange('C' + tLastRow).setValue(name);
    copyToSheet.getRange('E' + tLastRow).setValue(timestamp).setNumberFormat('yyyy-MM-dd');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54032330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档