Google 表单根据提交的值将文件上传到特定的新文件夹

2024-06-18

我的表单有 2 个字段,假设表单的名称是CV Drops

  1. Name
  2. 上传文件按钮

因此,默认情况下,当人们上传文件时,它将保存在我的 Google Drive 文件夹下CV Drops。我想要的是根据字段中的输入将文件放置在子文件夹中NAME.

我怎么做?


我相信您目前的情况和目标如下。

  • Your Google Form has 2 fields.
    1. Name
    2. 上传文件按钮(此时可以上传多个文件。)
  • 这两个字段均设置为必填字段。
  • 您想要将上传的文件移动到特定文件夹,该文件夹的名称来自第一个问题“名称”的答案。在这种情况下,您希望将该文件夹创建为文件夹中的子文件夹。

为了实现您的目标,我想使用 Google Apps 脚本。

Usage:

1. 示例脚本。

请将以下脚本复制并粘贴到 Google Form 的容器绑定脚本中。请设置您要创建的子文件夹的顶级文件夹 ID。如果要在根文件夹中创建子文件夹,请设置root.

function onFormSubmit(e) {
  const folderId = "###";  // 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.next() : destFolder.createFolder(folderName);

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

2. 安装 OnSubmit 触发器。

请将 OnSubmit 事件触发器安装为可安装触发器。Ref https://developers.google.com/apps-script/guides/triggers/installable#managing_triggers_manually

3.测试脚本。

为了测试示例脚本和触发器,请打开 Google 表单并输入名称并上传文件并提交。这样,脚本将通过触发可安装的 OnSubmit 触发器来运行。并且,上传的文件被移动到所创建的文件夹名称为“Name”的文件夹中。

在此示例脚本中,当存在相同的文件夹名称时,文件将放入现有文件夹中。

Note:

  • 这是一个简单的示例脚本。所以请根据您的实际情况进行修改。

参考:

  • 可安装的触发器 https://developers.google.com/apps-script/guides/triggers/installable
  • 移动到(目的地) https://developers.google.com/apps-script/reference/drive/file#movetodestination
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google 表单根据提交的值将文件上传到特定的新文件夹 的相关文章

  • 正则表达式 - 使用正则表达式提取电子邮件文档的子字符串

    我正在尝试使用正则表达式提取电子邮件文档的子字符串 我正在在线测试正则表达式 它运行得很好 在线正则表达式测试器 https regex101 com r BbWBPk 1 我有一个功能可以检查 Google Apps 脚本上的正则表达式
  • 如何使 onEdit() 触发函数应用于多个工作表

    我正在处理一张 Google 表格 我有一个脚本可以填充column B当我更新时有时间戳column A在第一个选项卡上 不过 我需要它在第二个选项卡上执行相同的操作 但我无法让它在那里工作 我需要改变什么 我当前使用的脚本是 funct
  • 通过嵌入式 Google Sheet 上的按钮激活脚本

    我正在尝试嵌入一个 Google 电子表格 其中包含一个我希望用户能够激活的脚本 我不希望他们能够编辑页面上的任何内容 我想我可以这样做 共享工作表并设置编辑权限 限制在我想要共享的一张纸上进行编辑 图像位于单元格上方 所以我认为这会阻止人
  • 复制带有内嵌图像的表格

    我正在尝试将 GDoc 的内容复制到另一个 GDoc 中 这对于所有不同的元素类型都非常有效 包括一个表 枚举DocumentApp ElementType TABLE 但是 如果表包含内联图像 EnumDocumentApp Elemen
  • 在应用程序脚本中将 .XLS 转换为 Google 表格的最有效方法是什么?

    我每周都会自动将 XLS 文件下载到 Google 云端硬盘 我想每周自动将最新下载的 XLS 文件转换为 Google 表格格式 因此转到特定的 Google 驱动器文件夹 查找最新或未转换的 XLS 文件 转换为 Google 表格格式
  • Google Apps 脚本中的范围要求过高

    Here s 自定义 Google 表格 https docs google com spreadsheets d 1qwOzxP qHWRhI2HZmGdlgKLlXCYIQz4XO2tq1EY 8NE edit gid 0与脚本代码 v
  • 对于只触及我的工作表的 Google 表格脚本,收到“此应用程序未经验证”

    我正在编写一个 Google Sheets 脚本 我只想访问与 gs 文件关联的同一电子表格中的数据 似乎我应该有权在自己的电子表格中运行脚本 但是每当我运行一个函数时 我都会得到一个This app isn t verified信息 我该
  • 上传到google脚本中的特定文件夹

    所以我想制作一个表单 将文件 照片 视频上传到 Google Drive 中的特定文件夹 文件 照片 视频 但我不知道如何在 Google Apps 脚本中制作 我尝试了这样的操作 并在控制台中出现错误 无效的参数侦听器 所以这里有一个索引
  • 将 JSON 数据导入 Google 表格

    我从 Web 服务中提取数据 其格式为 JSON 我正在为 Google Sheets 编写一个 Google Apps 脚本 它将为我填充数据 我的问题是 我似乎无法解析它 Doing var dataset myJSONtext Bro
  • 如何从谷歌表格下载 PNG 图表

    我试图在 Google Sheet 中创建一个自定义菜单 以允许我将当前 Google Sheet 文件中所有工作表中的所有图表下载到 PNG 图像中 使用图表标题作为图像名称 保存到我的 Windows PC 的默认下载目录中 我打算使用
  • TypeError:无法读取 Google Sheet 脚本中 null 的属性“getRange”(第 6 行,文件“Code”)[重复]

    这个问题在这里已经有答案了 我想从网页读取数据 为此我使用了导入数据功能 为了自动刷新写了一个脚本 下面是代码 我收到类似的错误类型错误 无法读取 null 属性 getRange 第 16 行 文件 Code 如何摆脱这个错误 funct
  • google apps 脚本 ==> UrlFetchApp、方法 GET 和 cookie

    我使用 UrlFetchApp 发送用户和密码 POST 方法 获取cookie后 并在其他请求中使用 GET方法 但是这个新请求不起作用 我认为这个 cookie 在这个新请求中没有正确使用 谁能帮我 var opt method pos
  • Google Apps 脚本 - 脚本之间的通信

    Hi我的问题如下 我想创建一个小网页 在该网页上可以在 Google 日历中创建事件 但有一些限制 就我而言 我的室友可以编辑此日历来预订洗衣机 该预订不能重叠 而且我们所有人的使用天数都是有限的 我创造了私人日历 我已经创建了验证请求的脚
  • Google 表格脚本 - onEdit 和“源”

    我已经努力了几天 试图让脚本发挥作用 在最基本的层面上 我的函数包含以下内容 function onEdit e var changedRange e source getActiveRange 根据谷歌的文档 这似乎是完全合法的用途 ht
  • Google Script:如何突出显示一组单词?

    我想为谷歌文档编写一个脚本来自动突出显示一组单词 一句话 我可以使用这样的脚本 function myFunction var doc DocumentApp openById ID var textToHighlight TEST var
  • 在 Google Apps 脚本中获取数据后构建卡片并更新它

    我正在尝试构建一个 Gmail 插件 其中包含 2 个外部 API 调用 第一个是快的 200ms 第二个是慢的 5s 因此 我想首先使用第一次获取的结果构建卡 然后在第二次调用完成后更新卡 是否可以 Call fetchAll并在每次请求
  • 如何对 CSV 数据进行curl POST?

    假设我有以下 CSV 数据 fruit csv fruit count Apples 152 Bananas 23 我该如何写一个curl使用以下形式的命令来发布该数据 curl request POST url https script
  • 用于更改 Google 文档中文档所有者的脚本

    StackOverflow 和 Google Apps 脚本的新增功能 我感谢任何帮助 指导 任务 我正在尝试编写一个 Google Apps 脚本 它将指定文件夹中所有文件的所有权转移给一个所有者 我是 Google Apps Premi
  • 发送电子邮件的 Google Apps 脚本语法错误。无法识别我的问题

    我正在尝试让 Google 工作表从工作簿中另一张工作表的长列表中发送个性化电子邮件 我使用了教程 因为我是所有编码语言的认证新手 但 AppScript 告诉我第 4 行有语法错误 我一生都无法弄清楚我做错了什么 但我确信当由具有这些合法
  • Google Apps 脚本 oauth connect 不适用于 trello

    我一直在尝试使用 oAuth谷歌应用脚 本 https docs google com macros 访问 trello 数据 但 OAuthService API 似乎对 oAuth 服务做出了一些假设 并且 trello 无法以这种方式

随机推荐

  • Akka 2 中的调度程序有哪些差异和使用模式?

    我很难理解它们的差异和推荐用法Akka 2 中的调度程序 http doc akka io docs akka current scala dispatchers html 我想我明白了平衡调度程序 http doc akka io api
  • 如何在 matplotlib 图中禁用 xkcd?

    您可以通过以下方式打开 xkcd 风格 import matplotlib pyplot as plt plt xkcd 但如何禁用它呢 I try self fig clf 但这行不通 简而言之 要么使用 Valentin 提到的上下文管
  • Spark 执行器登录 YARN

    我正在 Cloudera 集群上以 YARN 客户端模式启动分布式 Spark 应用程序 一段时间后 我在 Cloudera Manager 上看到一些错误 一些执行者会断开连接 并且这种情况会系统性地发生 我想调试该问题 但 YARN 未
  • SwiftUI 键盘工具栏有条件

    不确定这是否是一个错误或者我是否做错了什么 但如果我使用 toolbar ToolbarItemGroup placement navigationBarLeading if isFocused zipCode Text Test 当等于
  • Ruby on Rails Webpacker 找不到 asset_pack_path 下的图像

    我在使用 Ruby on Rails Webpacker 在视图中包含图像时遇到问题 当我尝试使用 html img 标签和 asset pack path 在我的视图中插入图像时 出现错误 我的图像位于app javascript ima
  • Java 8 流排序字符串列表[重复]

    这个问题在这里已经有答案了 我正在流上调用排序方法 java 文档说 Sorted 方法返回一个由该流的元素组成的流 并根据自然顺序排序 但是当我运行下面的代码时 List
  • 当我们保存答案时,休眠异常行被更新或删除异常

    在这里我提供了引发异常的 hibernate 项目代码 例外 org hibernate StaleObjectStateException Row was updated or deleted by another transaction
  • 取消正在执行的 AsyncTask 的理想方法

    我正在后台线程中运行远程音频文件获取和音频文件播放操作AsyncTask A Cancellable显示获取操作运行时间的进度条 我想取消 中止AsyncTask当用户取消 决定反对 操作时运行 处理这种情况的理想方法是什么 刚刚发现Ale
  • ora-04091 表正在发生变化-

    我正在使用一个函数来比较表 1 和表 2 中的所有列并返回 Y 或 N 在此基础上 我将更新我的表 1 但是当我运行合并语句时 它显示错误 ora 04091 Table1 正在发生变化 触发器 函数可能看不到它 我怎样才能解决这个问题 C
  • 如何在 Swift 3 iOS 10 中创建自定义相册

    这听起来可能是重复的 但经过搜索 我仍然没有得到 Swift 3 的预期答案 当我尝试使用添加资产时为资产创建占位符后addAssets 方法 Xcode 建议我将 assetPlacehoder 转换为 FastEnumeration 类
  • 在 JavaScript 中对数组进行排序

    我正在尝试对内部包含整数的数组进行排序 例如 var array 123 3 745 4 643 5 643 2 我如何对其进行排序才能返回类似以下内容的内容 array 745 4 643 2 643 5 123 3 您可以将自定义比较函
  • 什么是指纹模板格式?

    我计划开发一个集成指纹扫描仪的系统 通过阅读一些sdk 我总是遇到模板格式 例如 ANSI INCITS 378 2004 和 ISO IEC 19794 2 2005 我很难理解它 我知道模板是用于存储指纹的术语 但是这些格式彼此有何不同
  • Flash Action Script 3 设计自定义MovieClip作为按钮

    我是 Flash AS3 的新手 我正在尝试创建一个应该充当按钮的影片剪辑 请参阅下图以供参考 我想知道如何为此自定义按钮创建一个包 以便我可以通过在参数中指定 名称 图像 来使用此包创建所需数量的按钮 Main movieclip mc
  • UIButton 和滑动手势

    我有一个UIView有两个UIButton每侧 左侧和右侧 都有 s 和UIImageView在中心 点击任一按钮都会改变UIImageView那行得通 我想要滑动的能力UIView以及它改变UIImageView 现在 您必须在UIIma
  • XGBOOST 功能名称错误 - Python

    也许这个问题已经以不同的形式被问过很多次了 但是 我的问题是当我使用XGBClassifier 对于像数据这样的产品 我收到功能名称不匹配错误 我希望有人能告诉我我做错了什么 这是我的代码 顺便说一句 数据完全是编造的 import pan
  • 使用 Python 将 Json 转换为换行 Json 标准

    我有一个获取嵌套对象并删除所有嵌套的代码 使对象平坦 def flatten json y param y Unflated Json return Flated Json out def flatten x name if type x
  • 如何在 Rails 上的 .yml 本地化文件中换行?

    我有一个带有一些本地化内容的 terms en yml 文件 例如 en devise registrations terms text This agreement was written in English US To the ext
  • fleiss kappa 是衡量注释者间一致性的可靠指标吗?下面的结果让我很困惑,使用它时是否涉及任何假设?

    我有带有以下描述的注释矩阵 3 名注释者 3个类别 206 个科目 数据存储在 numpy ndarray 变量 z 中 array 0 2 1 0 2 1 0 2 1 0 2 1 1 1 1 0 2 1 0 3 0 0 3 0 0 3 0
  • JSON Patch RFC 中的波浪号转义应该如何操作?

    参考文献https www rfc editor org rfc rfc6902 appendix A 14 https www rfc editor org rfc rfc6902 appendix A 14 A 14 逃脱命令 目标 J
  • Google 表单根据提交的值将文件上传到特定的新文件夹

    我的表单有 2 个字段 假设表单的名称是CV Drops Name 上传文件按钮 因此 默认情况下 当人们上传文件时 它将保存在我的 Google Drive 文件夹下CV Drops 我想要的是根据字段中的输入将文件放置在子文件夹中NAM