脚本可以添加某些界面元素来在用户点击/执行 Apps 脚本函数时扩展某些 Google 产品。最常见的示例是使用 Google 文档、表格、幻灯片或表单中的自定义菜单项运行脚本,但也可以通过点击 Google 表格中的图片和绘图来触发脚本函数。
Google 文档、表格、幻灯片或表单中的自定义菜单
Apps 脚本可以在 Google 文档、表格、幻灯片或表单中添加新菜单,其中每个菜单项都与脚本中的一个函数相关联。(在 Google 表单中,只有打开表单进行修改的编辑者才能看到自定义菜单,而打开表单进行回复的用户不会看到该菜单。)
菜单只能绑定到文档、电子表格或表单,才能创建菜单。如需在用户打开文件时显示菜单,请在 onOpen()
函数中编写菜单代码。
以下示例展示了如何添加菜单,其中包含一个项目,后跟一个视觉分隔符,然后再是一个包含另一个项目的子菜单。(请注意,在 Google 表格中,除非您使用的是新版本,否则必须改用 addMenu()
语法,并且无法使用子菜单。)当用户选择任一菜单项时,相应的函数会打开提醒对话框。如需详细了解您可以打开的对话框类型,请参阅对话框和边栏指南。
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp or FormApp.
ui.createMenu('Custom Menu')
.addItem('First item', 'menuItem1')
.addSeparator()
.addSubMenu(ui.createMenu('Sub-menu')
.addItem('Second item', 'menuItem2'))
.addToUi();
}
function menuItem1() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.alert('You clicked the first menu item!');
}
function menuItem2() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.alert('You clicked the second menu item!');
}
文档、电子表格、演示文稿或表单只能包含一个具有指定名称的菜单。如果同一脚本或其他脚本添加了同名的菜单,则新菜单将替换旧菜单。文件打开时无法移除菜单,但如果您编写了 onOpen()
函数,日后如果设置了特定属性,则可以跳过菜单。
Google 表格中可点击的图片和绘图
您还可以将脚本函数分配给 Google 表格中的图片或绘图,只要脚本是绑定到电子表格即可。以下示例展示了如何进行设置。
- 在 Google 表格中,依次选择菜单项扩展程序 > Apps 脚本以创建绑定到电子表格的脚本。
删除脚本编辑器中的所有代码,并将其粘贴到下方代码中。
function showMessageBox() { Browser.msgBox('You clicked it!'); }
返回 Google 表格,然后依次选择 Insert > Image 或 Insert > Drawing,并插入图片或绘图。
插入图片或绘图后,点击该图片。右上角将显示一个小型下拉菜单选择器。点击该标签页并选择分配脚本。
在显示的对话框中,输入要运行的 Apps 脚本函数的名称(不带括号),在本例中为
showMessageBox
。点击 OK。点击该图片或重新绘图。函数现在将执行。
Google 协作平台中脚本的链接
您可以将 Apps 脚本函数分配给 Google 协作平台中的链接,前提是该脚本已绑定到相应网站。以下示例展示了如何进行设置。
- 在 Google 协作平台中,点击更多 > 管理网站。
- 在边栏中,依次点击 Apps 脚本和添加新脚本,创建一个绑定到网站的脚本。
删除脚本编辑器中的所有代码,并将其粘贴到下方,这样当用户点击链接时,系统将会发送电子邮件。
function sitesLink() { var recipient = Session.getActiveUser().getEmail(); GmailApp.sendEmail(recipient, 'Email from your site', 'You clicked a link!'); }
返回 Google 网站并修改网页。输入会成为链接的标签(例如
Click me
),然后突出显示文本并选择插入 > 链接。在显示的对话框中,点击 Apps 脚本,然后点击您刚刚创建的
sitesLink
函数。点击 OK。点击页面顶部的保存。
点击您添加到该页面的链接。
系统会显示一个对话框,告诉您脚本需要授权。 点击 OK。然后,第二个对话框将请求对特定 Google 服务进行授权。仔细阅读通知,然后依次点击允许和关闭。
脚本获得授权后,再次点击您添加到该页面的链接。函数现在将执行。查收电子邮件,查看您自己发送的电子邮件。