谷歌表格如何上传文件,然后根据提交的值将其放置到新文件夹中 [英] Google Form how to upload files and then place it into new folder based on the value submitted

查看:20
本文介绍了谷歌表格如何上传文件,然后根据提交的值将其放置到新文件夹中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据此问题,Google Form Upload files to specific new folder based on the value submitted

这将导致Google表单脚本编辑器的代码:

function onFormSubmit(e) {
  const folderId = "1HVTDe5YxYDolXrEaGebHOoypYqG38d_fkauOGg5hCAqQfw-amW5aIazflSJEl7THNGTn-nq3";  // Please set top folder ID of the destination folders.

  const form = FormApp.getActiveForm();
  const formResponses = form.getResponses();
  const itemResponses = formResponses[formResponses.length-1].getItemResponses();

  Utilities.sleep(3000); // This line might not be required.

  // Prepare the folder.
  const destFolder = DriveApp.getFolderById(folderId);
  const folderName = itemResponses[0].getResponse();
  const subFolder = destFolder.getFoldersByName(folderName);
  const folder = subFolder.hasNext() ? subFolder : destFolder.createFolder(folderName);

  // Move files to the folder.
  itemResponses[1].getResponse().forEach(id => DriveApp.getFileById(id).moveTo(folder));
}

我收到一个错误:TypeError: itemResponses[1].getResponse(...).forEach is not a function

要使此代码成功运行,我应该做些什么? 我在这方面完全是新手,任何形式的帮助都是非常感激的。谢谢。

编辑:谢谢@Tanaike!已经清场了。感谢您的帮助,此案例已结案。

推荐答案

修改

itemResponses[1].getResponse().forEach(id => DriveApp.getFileById(id).moveTo(folder));

收件人:

itemResponses[2].getResponse().forEach(id => DriveApp.getFileById(id).moveTo(folder));

这就是我问题的答案,归功于@Tanaike。

以下是该答案的评论链接: Google Form how to upload files and then place it into new folder based on the value submitted

这篇关于谷歌表格如何上传文件,然后根据提交的值将其放置到新文件夹中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆