如果脚本是通过 Google 文档、文档、幻灯片或表单文件创建的,而不是作为独立脚本创建的,则它会绑定到该文件。绑定脚本附加到的文件称为“容器”。绑定脚本的行为通常与独立脚本类似,只是它们不会出现在 Google 云端硬盘中,它们无法与所绑定的文件分离,并且父级文件具有一些特殊权限。
请注意,脚本也可以绑定到 Google 协作平台,但这些脚本几乎总是部署为 Web 应用。绑定到 Google 表格、文档、幻灯片或表单的脚本也可以成为 Web 应用,但并不常见。
创建绑定脚本
Google 文档、表格或幻灯片
如需在 Google 文档、表格或幻灯片中创建绑定脚本,请在 Google 文档中打开相应文档、在 Google 表格中打开电子表格,或在 Google 幻灯片中打开演示文稿,然后依次点击扩展程序 > Apps 脚本。今后,如需重新打开该脚本,请执行相同的操作或从 Apps 脚本信息中心打开该脚本。
Google 表单
如需在 Google 表单中创建绑定脚本,请打开表单并点击“更多”图标 > 脚本编辑器。要在未来重新打开该脚本,请执行相同的操作或从 Apps 脚本信息中心打开该脚本。
特殊方法
绑定的脚本可以调用独立脚本无法调用的一些方法:
getActiveSpreadsheet()
、getActiveDocument()
、getActivePresentation()
和getActiveForm()
允许绑定的脚本引用其父级文件,而无需引用文件的 ID。getUi
允许绑定的脚本访问其父文件的界面,以添加自定义菜单、对话框和边栏。- 在 Google 表格中,
getActiveSheet()
、getActiveRange()
和getActiveCell()
脚本可让用户确定当前工作表、所选单元格范围或个别单元格。setActiveSheet(sheet)
和setActiveRange(range)
允许脚本更改这些选择。 - 在 Google 文档中,
getCursor()
和getSelection()
可让脚本确定用户光标或所选文本的位置。setCursor(position)
和setSelection(range)
可让该脚本更改这些位置。
如需了解详情,请参阅扩展 Google 表格的指南或扩展 Google 文档的指南。
自定义菜单、对话框和边栏
绑定脚本可以通过添加自定义菜单和对话框或边栏来自定义 Google 表格、文档和表单。但是请注意,脚本只能与已打开文件的当前实例的界面进行交互。也就是说,绑定到一个文档的脚本不会影响另一个文档的界面。
附加内容
插件可在 Gmail、Google 表格、文档、幻灯片和表单中运行。如果您开发了绑定或独立脚本,并希望与全世界共享该脚本,则 Apps 脚本允许您将脚本发布为插件,以便其他用户可以通过插件商店安装它。
触发器
绑定脚本可以使用简单的触发器,例如特殊的 onOpen()
函数,该函数会在拥有编辑权限的用户打开文件时自动运行。与所有类型的脚本一样,它们也可以使用可安装的触发器。
自定义函数
自定义函数是绑定到 Google 表格的脚本中的一个函数,您可以使用语法 =myFunctionName()
直接从单元格调用它。因此,自定义函数类似于 Google 表格中的数百个内置函数,例如 AVERAGE
或 SUM
,除非您定义自定义函数的行为。
访问绑定脚本
只有有权修改容器的用户才能运行其绑定脚本。 仅拥有查看权限的协作者无法打开脚本编辑器,但他们制作容器文件的副本后,将成为该副本的所有者,并且可以查看和运行此脚本的副本。
如需了解如何共享脚本的容器文件,请参阅共享 Google 云端硬盘中的文件。