Google 試算表巨集

Google 試算表可讓您錄製巨集,複製您定義的一系列特定 UI 互動。錄製巨集後,即可將巨集連結至 Ctrl+Alt+Shift+Number 形式的鍵盤快速鍵。您可以使用該捷徑,快速再次執行巨集步驟,通常是在不同位置或對不同資料執行。您也可以從 Google 試算表的「擴充功能」>「巨集」選單啟用巨集。

錄製巨集時,Google 試算表會自動建立 Apps Script 函式 (即巨集函式),複製巨集步驟。巨集函式會新增至繫結至試算表的 Apps Script 專案,並儲存在名為 macros.gs 的檔案中。如果試算表已繫結同名專案檔案,巨集函式會附加至該檔案。Google 試算表也會自動更新指令碼專案資訊清單,記錄指派給巨集的名稱和鍵盤快速鍵。

由於錄製的巨集完全是在 Apps Script 中定義,因此您可以直接在 Apps Script 編輯器中編輯巨集。您甚至可以在 Apps Script 中從頭編寫巨集,或是將已編寫的函式轉換為巨集。

在 Apps Script 中建立巨集

您可以將以 Apps Script 撰寫的函式做為巨集函式使用。 最簡單的方法是從 Google 試算表編輯器匯入現有函式

或者,您也可以按照下列步驟,在 Apps Script 編輯器中建立巨集:

  1. 在 Google 試算表使用者介面中,依序選取「擴充功能」>「Apps Script」,在 Apps Script 編輯器中開啟繫結至試算表的指令碼。
  2. 編寫巨集函式。巨集函式不應接受任何引數,也不應傳回任何值。
  3. 編輯指令碼資訊清單,建立巨集並連結至巨集函式。指派不重複的鍵盤快速鍵和名稱。
  4. 儲存指令碼專案。這樣就能在工作表中使用巨集。
  5. 在工作表中測試巨集函式,確認函式運作正常。

編輯巨集

如要編輯附加至工作表的巨集,請按照下列步驟操作:

  1. 在 Google 試算表使用者介面中,依序選取「擴充功能」>「巨集」>「管理巨集」
  2. 找出要編輯的巨集,然後選取 >「編輯巨集」。這會開啟 Apps Script 編輯器,顯示含有巨集函式的專案檔案。
  3. 編輯巨集函式,即可變更巨集行為。
  4. 儲存指令碼專案。這樣就能在工作表中使用巨集。
  5. 在工作表中測試巨集函式,確認函式運作正常。

將函式匯入為巨集

如果試算表已繫結指令碼,您可以匯入指令碼中的函式做為新巨集,然後指派鍵盤快速鍵。如要這麼做,請編輯資訊清單檔案,並在 sheets.macros[] 屬性中新增另一個元素。

或者,按照下列步驟從 Google 試算表 UI 將函式匯入為巨集:

  1. 在 Google 試算表使用者介面中,依序選取「擴充功能」>「巨集」>「匯入」
  2. 從顯示的清單中選取函式,然後按一下「新增函式」
  3. 選取 即可關閉對話方塊。
  4. 依序選取「擴充功能」>「巨集」 >「管理巨集」
  5. 在清單中找出剛匯入的函式。為巨集指派專屬的鍵盤快速鍵。您也可以在這裡變更巨集名稱;名稱預設為函式名稱。
  6. 按一下「更新」,儲存巨集設定。

巨集的資訊清單結構

以下資訊清單檔案範例程式碼片段顯示定義 Google 試算表巨集的資訊清單區段。資訊清單的 sheets 區段會定義巨集名稱、指派給巨集的鍵盤快速鍵,以及巨集函式名稱。

完整可用的資訊清單。
  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

如要進一步瞭解如何建構 Google 試算表巨集資訊清單,請參閱試算表巨集資訊清單資源

最佳做法

在 Apps Script 中建立或管理巨集時,建議您遵守下列規範。

  1. 巨集越輕量,效能就越高。如有可能,請限制巨集執行的動作數量。
  2. 巨集最適合用於需要經常重複的例行作業,且幾乎不需要設定。如要執行其他作業,建議改用自訂選單項目
  3. 請務必注意,巨集鍵盤快速鍵必須是專屬的,且每個工作表一次最多只能有十個巨集快速鍵。如要執行其他巨集,只能透過「擴充功能」>「巨集」選單。
  4. 如要將變更單一儲存格的巨集套用到整個儲存格範圍,請先完整選取所需範圍,再啟用巨集。也就是說,您通常不需要建立巨集,在預先定義的儲存格範圍內複製相同的作業。

無法執行的動作

巨集的使用方式有幾項限制:

在繫結指令碼以外使用巨集

巨集是在繫結至特定 Google 試算表的指令碼中定義。如果巨集定義是在獨立指令碼網頁應用程式中定義,系統會忽略這些定義。

在 Google 試算表外掛程式中定義巨集

您無法使用 Google 試算表外掛程式發布巨集定義。使用者會忽略試算表外掛程式專案中的所有巨集定義。

在指令碼程式庫中發布巨集

您無法使用 Apps Script 程式庫發布巨集定義。

在 Google 試算表以外使用巨集

巨集是 Google 試算表專屬的功能,不適用於 Google 文件、表單或簡報。