如果脚本是从 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 脚本允许您将脚本作为插件publish,以便其他用户通过插件商店安装。
触发器
绑定脚本可以使用简单触发器,例如特殊的 onOpen()
函数,只要拥有编辑权限的用户打开文件,它就会自动运行。与所有类型的脚本一样,它们也可以使用可安装的触发器。
自定义函数
自定义函数是绑定到 Google 表格的脚本中的函数,您可以使用语法 =myFunctionName()
直接从单元格调用该函数。因此,自定义函数与 Google 表格中的数百个内置函数(如 AVERAGE
或 SUM
)类似,不同的是前者由您定义自定义函数的行为。
拥有对绑定脚本的访问权限
只有有权修改容器的用户才能运行该容器的绑定脚本。仅具有查看权限的协作者无法打开脚本编辑器,但如果他们制作了容器文件的副本,他们将成为该副本的所有者,并查看和运行该脚本的副本。
如需了解如何共享脚本的容器文件,请参阅共享 Google 云端硬盘中的文件。