【问题标题】:How to create Google Form that can select which sheet to work on inside a Google Spreadsheet?如何创建可以在 Google 电子表格中选择要处理的工作表的 Google 表单?
【发布时间】:2017-09-28 17:26:57
【问题描述】:

我需要创建一个出勤列表,以便教师更轻松地跟踪学生。

为此,我需要从学生列表中选择一个姓名,然后再添加他们上课的日期和时间。

我希望每个学生在一个电子表格中都有自己的个人工作表(数量不多),这样我就可以在事后生成报告,同时为不那么精通技术的老师保持简单(a单一的表单会让事情变得更容易)。

这可能吗?

【问题讨论】:

  • 到目前为止你尝试过什么?您面临哪些错误?请记住,StackOverflow 不是免费代码结构。
  • 嗨,@MassimilianoKraus,实际上我正在素描。我只是想知道它是否可能并开始研究它。对不起,如果我给你留下了错误的印象,我从来不希望任何人为我编码!感谢您的关注。

标签: google-apps-script google-sheets google-spreadsheet-api google-forms


【解决方案1】:

这不是您问题的完整答案,但我一直在努力了解有关表单的更多信息,因为我们收到了很多关于表单的问题。可以查看表单提交事件上的最后一个响应,并根据响应数据将响应分发到不同的工作表。我在下面使用了一个简单的表单来执行此操作,该表单让我可以选择工作表名称和电子邮件。

代码如下:

function formResponseEvent(e)
{
    var ss = SpreadsheetApp.openById('1bNqs3YeALOsIzMqnTg6SfK-7mHNcPZQ0ZuC81ee3LRU');
    var form = FormApp.getActiveForm();
    var r = form.getResponses();
    irs = r[r.length-1].getItemResponses();
    ss.getSheetByName(irs[0].getResponse())
        .appendRow([irs[0].getResponse(), irs[1].getResponse()])
}

如果您想告诉我们更多关于这个问题的信息,我很乐意再做一些工作。或者,如果您愿意,可以将其发布到 here,我可以从那里为您提供帮助。

【讨论】:

  • 非常感谢,库珀。这不仅有帮助。我将尝试使用您的代码编写一些扩展代码。我今天要加入小组!
【解决方案2】:
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  var lastRow = sheet.getLastRow();
  var newResponse = sheet.getRange(lastRow, 1).getValue();

  ss.insertSheet(newResponse);

【讨论】:

  • 我相信提问者希望将答案分成不同的学生表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-07
相关资源
最近更新 更多