Google Workspace 中的自定义菜单

脚本可以通过添加界面元素来扩展某些 Google 产品,界面元素在用户点击后执行 Apps 脚本函数。最常见的示例是通过 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 表格中的可点击图片和绘图

您还可以将 Apps 脚本函数分配给 Google 表格中的图片或绘图,只要脚本绑定到电子表格即可。以下示例展示了如何进行设置。

  1. 在 Google 表格中,选择菜单项 Extensions(扩展程序)> Apps Script(Apps 脚本),以创建绑定到电子表格的脚本。
  2. 删除脚本编辑器中的任何代码,并粘贴以下代码。
    function showMessageBox() {
    Browser.msgBox('You clicked it!');
    }
  3. 返回 Google 表格,通过选择插入 &gt 图片插入 &绘图来插入图片或绘图。
  4. 插入图片或绘图后,请点击它。右上角会显示一个小型下拉菜单选择器。点击该按钮并选择分配脚本
  5. 在随即显示的对话框中,输入要运行的 Apps 脚本函数的名称,不带括号,在本例中为 showMessageBox。点击 OK
  6. 再次点击该图片或绘图。现在,系统会执行该函数。

您还可以将 Apps 脚本函数分配给 Google 协作平台中的链接,只要该脚本绑定到该网站即可。以下示例展示了如何进行设置。

  1. 在 Google 协作平台中,点击更多 &gt 管理网站
  2. 在边栏中,依次点击 Apps 脚本添加新脚本,以创建绑定到网站的脚本。
  3. 删除脚本编辑器中的任何代码,并粘贴以下代码,该代码段将在用户点击链接时发送电子邮件。
    function sitesLink() {
    var recipient = Session.getActiveUser().getEmail();
    GmailApp.sendEmail(recipient, 'Email from your site', 'You clicked a link!');
    }
  4. 返回 Google 协作平台并编辑页面。输入要成为链接的标签(例如 Click me),然后突出显示文本并选择插入 &gt 链接
  5. 在随即显示的对话框中,点击 Apps 脚本,然后点击您刚刚创建的 sitesLink 函数。点击 OK
  6. 点击页面顶部的保存
  7. 点击您添加到页面的链接。
  8. 系统会显示一个对话框,告知您该脚本需要授权。 点击 OK。然后,另一个对话框将请求对特定 Google 服务进行授权。仔细阅读声明,然后依次点击允许关闭
  9. 现在该脚本已获得授权,请再次点击您添加到该页面的链接。该函数现在将执行。查看电子邮件,查看您自己发送的电子邮件。