如何在复制后更改 Google 表单 ID?

How to change Google form ID after copying?

我每天进行在线会议,并以google形式从学生那里获得反馈。我每天使用复制菜单复制表格并创建新的反馈表格。现在我正在尝试使用 Google 脚本。 我使用以下标准 google 脚本来复制 google 表单模板。 但是复制的表格有相同的id。我需要更改复制的google表格的id,以便它可以每天使用。如何更改复制表格的ID? 注意:表格会收集电子邮件,因此如果表格 ID 相同,则不允许学生在第二天使用同一电子邮件输入数据(说 - 数据已输入)

// Open a form by ID and create a new spreadsheet.
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var ss = SpreadsheetApp.create('Spreadsheet Name');

// Update form properties via chaining.
form.setTitle('Form Name')
    .setDescription('Description of form')
    .setConfirmationMessage('Thanks for responding!')
    .setAllowResponseEdits(true)
    .setAcceptingResponses(false);

// Update the form's response destination.
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());

Google 驱动器上的两个不同文件永远不会有相同的 ID

  • 文件id是一个唯一的标识符,通过它可以访问、修改、共享文件等。

  • 无法手动更改 id,也没有必要,因为您的表单副本永远不会具有相同的 id

你的问题不同:

  • 您的代码不会复制表单,只会创建一个新的目标电子表格。

  • 要复制现有表格,您可以实施例如:

  var newFile = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz').makeCopy();
  var newFormID = newForm.getId();
  var newForm = FormApp.openById(newFormID);