如果脚本是通过 Google 表格、文档、幻灯片或表单文件创建的,而不是作为独立脚本创建的,则该脚本会绑定到相应文件。绑定脚本附加到的文件称为“容器”。 绑定脚本的行为通常与独立脚本类似,只不过它们不会显示在 Google 云端硬盘中,无法与所绑定的文件分离,并且会获得对父文件的一些特殊权限。
请注意,脚本也可以绑定到 Google 协作平台,但这些脚本几乎总是作为网站应用部署。绑定到 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 文档中,
getActiveTab()
、getCursor()
和getSelection()
可让脚本确定用户当前的标签页、光标位置或所选文本。setActiveTab(tabId)
、setCursor(position)
和setSelection(range)
可让脚本更改这些选择。
如需了解详情,请参阅扩展 Google 表格的指南或扩展 Google 文档的指南。
自定义菜单、对话框和边栏
绑定的脚本可以通过添加自定义菜单和对话框或边栏来自定义 Google 表格、文档和表单。不过,请注意,脚本只能与打开文件的当前实例的界面进行互动。也就是说,绑定到一个文档的脚本无法影响另一个文档的界面。
插件
插件在 Gmail、Google 表格、文档、幻灯片和表单中运行。如果您开发了绑定脚本或独立脚本,并希望与世界各地的用户分享,则可以使用 Apps Script 将脚本发布为插件,以便其他用户从插件商店中安装该脚本。
触发器
绑定的脚本可以使用简单触发器,例如特殊的 onOpen()
函数,该函数会在有修改权限的用户打开文件时自动运行。与所有类型的脚本一样,它们也可以使用可安装的触发器。
自定义函数
自定义函数是绑定到 Google 表格的脚本中的函数,您可以使用语法 =myFunctionName()
直接从单元格调用该函数。因此,自定义函数与 Google 表格中的数百个内置函数(例如 AVERAGE
或 SUM
)类似,只不过您可以定义自定义函数的行为。
访问绑定的脚本
只有有权修改容器的用户才能运行该容器的绑定脚本。仅拥有查看权限的协作者无法打开脚本编辑器,但如果他们制作了容器文件的副本,他们将成为该副本的所有者,可以查看并运行脚本的副本。
如需了解如何共享脚本的容器文件,请参阅共享 Google 云端硬盘中的文件。