0

我有一个在表单条目提供的 Google 表格上运行的脚本。基本上,当我填写表格时,它会在工作表上创建一个条目。从该条目中,我的脚本创建了一个新文档,该文档“美化”了工作表上的字段以进行分发。

此工作表位于团队驱动器上,但为了在驱动器中创建生成的文档,我必须将无界脚本放在驱动器中并引用工作表。如果我将它绑定到工作表,它将始终将新创建的文档放在团队驱动器中——这是我不想要的。

当它绑定到工作表时,我有一个触发器,它会在提交表单时自动创建文档。现在脚本在我的驱动器上,提交时触发不是一个选项。我唯一的选择是基于时间或基于日历的,这些都不是真正的工作——除非我只想每月或每分钟获取一次文档。

所以现在,我知道执行脚本的唯一方法是每次都手动执行,这是一个很大的麻烦,并且无论您如何执行都需要多个步骤。

有没有办法在命令上触发此脚本而无需打开脚本编辑器,单击我想要的脚本,然后单击运行?

为什么应用程序中没有键盘快捷键?我知道 Ctrl+R —— 但这仅在您已经在顶部操作栏中突出显示要突出显示的脚本时才有效。如果我在没有突出显示的情况下键入 Ctrl+R,则不会发生任何事情。Alt+R 或 Alt 什么都不会发生,真的。我已经尝试简单地按 187 次来到达我需要的位置,但选项卡似乎从来没有集中在脚本菜单区域中。它只是在地址栏、快捷方式栏等周围反弹。

注意:我不想对这个脚本进行重大更改。让它正常工作需要很长时间,我不想把它抬高。我只想能够触发它,而不必经过 18 个步骤。

4

1 回答 1

1

无法从 Apps 脚本编辑器中使用键盘快捷键执行独立脚本项目的功能。如果您的脚本已绑定,您可以从容器 Google 表格文件中选择键盘快捷键(作为),但宏有一些限制

但是,您并非没有选择。他们两个人:

  • 将脚本项目发布为 webapp,并使用页面访问作为触发器。
    打开页面/单击书签 -> 通过您的doGet().
  • 将您的脚本转换为处理任意数量的表单响应的“轮询”样式,并使用基于时间的触发器(例如每小时、每天)来自动化整个过程。
    (包括“我是否处理过此响应”标志以防止重新处理响应)

有更复杂的配置(例如 Apps Script API + 本地 cron 作业),但这些配置不太可能比上述两个选项更简单。


正如我在评论中提到的,您很可能只需要一个额外的步骤来让原始绑定脚本在您的 Google Drive 而不是主机 Team Drive 中创建文件。如果你对那个途径感兴趣,你会想问适当的(阅读:新的)问题。

于 2019-01-04T17:05:41.373 回答