Google Workspace 中的自訂選單

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

指令碼會新增使用者介面元素,以便在使用者點選按鈕後執行 Apps Script 函式,藉此擴充特定 Google 產品。最常見的例子是透過 Google 文件、試算表、簡報或表單的自訂選單項目執行指令碼,但您也可以在 Google 試算表中點選圖片和繪圖來觸發指令碼函式。

Google 文件、試算表、簡報或表單的自訂選單

Apps Script 可在 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 Script 函式指派給 Google 試算表中的圖片或繪圖。以下範例會示範如何設定。

  1. 在 Google 試算表中選取選單項目「Extensions」> Apps Script,建立繫結至試算表的指令碼。
  2. 刪除指令碼編輯器中的所有程式碼,然後貼上下列程式碼。
    function showMessageBox() {
    Browser.msgBox('You clicked it!');
    }
  3. 返回「插入 > 圖片」「插入 > 繪圖」,來返回試算表並插入圖片或繪圖。
  4. 插入圖片或繪圖後,請點選該圖片或繪圖。右上角會顯示小型下拉式選單選取器。按一下這個方塊,然後選擇「指派指令碼」。
  5. 在隨即顯示的對話方塊中,輸入您要執行的 Apps Script 函式名稱 (不含括號),例如 showMessageBox。按一下 [確定]
  6. 再按一下圖片或繪圖。函式現在會執行。

此外,只要指令碼繫結至網站,您也可以將 Google Apps Script 函式指派給連結。以下範例說明如何設定。

  1. 在 Google 協作平台中,按一下 [更多 > 管理網站]
  2. 在側欄中,依序按一下「Apps Script」和「Add new Script」,建立繫結至網站的指令碼。
  3. 複製指令碼編輯器中的任何程式碼並貼到下列程式碼中,當使用者按下連結時,系統就會傳送電子郵件。
    function sitesLink() {
    var recipient = Session.getActiveUser().getEmail();
    GmailApp.sendEmail(recipient, 'Email from your site', 'You clicked a link!');
    }
  4. 返回 Google 協作平台並編輯頁面。輸入將成為連結的標籤 (例如 Click me),然後醒目顯示文字並選取「Insert > Link」(插入 > 連結)
  5. 在隨即顯示的對話方塊中,按一下「Apps Script」,然後點選您剛剛建立的 sitesLink 函式。按一下「OK」(確定)
  6. 按一下頁面最上方的「儲存」
  7. 按一下您新增至網頁的連結。
  8. 接著會出現對話方塊,說明指令碼需要授權。按一下「OK」(確定)。接著,第二個對話方塊會要求特定 Google 服務的授權。詳閱通知內容,然後依序點選「允許」和「關閉」
  9. 現在指令碼已獲得授權,請再次點選您新增至頁面的連結。函式現在會執行。查看電子郵件,找出自己寄出的電子郵件。