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