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 試算表 UI 中,依序選取「Extensions」>「Apps Script」,即可在 Apps Script 編輯器中開啟繫結至工作表的指令碼。
  2. 編寫巨集函式。巨集函式不應使用引數,也不會傳回任何值。
  3. 編輯指令碼資訊清單以建立巨集,並連結至巨集函式。然後為其指派專屬的鍵盤快速鍵和名稱。
  4. 儲存指令碼專案。巨集就會出現在工作表中使用。
  5. 請在工作表中測試巨集函式,確認函式是否正常運作。

編輯巨集

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

  1. 在 Google 試算表 UI 中,依序選取「擴充功能」>「巨集」>「管理巨集」
  2. 找出要編輯的巨集,然後依序選取「」>「編輯巨集」。系統隨即會開啟 Apps Script 編輯器前往包含巨集函式的專案檔案。
  3. 編輯巨集函式以變更巨集行為。
  4. 儲存指令碼專案。巨集就會出現在工作表中使用。
  5. 請在工作表中測試巨集函式,確認函式是否正常運作。

以巨集的形式匯入函式

如果已經將指令碼「繫結」至工作表,您可以在指令碼中將函式「匯入」import做為新巨集,然後為該函式指派鍵盤快速鍵。方法是編輯資訊清單檔案,然後將另一個元素新增至 sheets.macros[] 屬性。

或者,您也可以按照下列步驟,透過試算表 UI 以巨集的形式匯入函式:

  1. 在 Google 試算表 UI 中,依序選取「擴充功能」>「巨集」>「匯入」
  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"
      }]
    }
  }

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

最佳做法

在 Apps Script 中建立或管理巨集時,建議您遵循下列指南。

  1. 在輕量級巨集中,巨集的效能較佳。請盡可能限制巨集採取的動作數量。
  2. 巨集最適合需要經常重複且幾乎沒有設定或不需要設定的輪替作業。如要執行其他作業,建議您改用自訂選單項目
  3. 切記,巨集鍵盤快速鍵不得重複,且特定工作表一次只能有十巨集搭配快速鍵。如要執行任何其他巨集,只要從「Extensions」>「Macros」選單執行即可。
  4. 對單一儲存格進行變更的巨集,如要套用到多個儲存格範圍,請先選取整個範圍,然後再啟用巨集。這表示通常不必建立巨集,在預先定義的儲存格範圍中複製相同作業。

禁止事項

巨集功能有一些限制:

在已繫結的指令碼外使用巨集

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

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

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

在指令碼庫中分配巨集

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

在 Google 試算表以外的地方使用巨集

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