Google 試算表可讓您記錄巨集,複製您定義的特定一系列 UI 互動。錄製巨集後,便可將該巨集連結至 Ctrl+Alt+Shift+Number
格式的鍵盤快速鍵。您可以使用該捷徑快速再次執行相同的巨集步驟,通常是在不同位置或針對不同的資料執行。您也可以透過 Google 試算表的「擴充功能」「巨集」選單啟用巨集。
錄製巨集時,Google 試算表會自動建立 Apps Script 函式 (即「巨集函式」),用來複製巨集步驟。巨集函式會新增至 Apps Script 專案繫結至工作表的 macros.gs
檔案中。如果專案檔案已繫結至試算表,且試算表的名稱與該專案檔案相同,則系統會在試算表中附加巨集函式。Google 試算表也會自動更新指令碼專案manifest,記錄指派給巨集的名稱和鍵盤快速鍵。
由於每個錄製的巨集都是在 Apps Script 中定義,因此您可以直接在 Apps Script 編輯器中編輯。您甚至可以在 Apps Script 中從頭開始編寫巨集,或者使用已編寫的函式,並將其轉換為巨集。
在 Apps Script 中建立巨集
您可以使用 Apps Script 編寫的函式,並將其做為巨集函式。最簡單的方法是從 Google 試算表編輯器匯入現有函式。
或者,您也可以按照下列步驟在 Apps Script 編輯器中建立巨集:
- 在 Google 試算表 UI 中,依序選取「Extensions」「Apps Script」,即可在 Apps Script 編輯器中開啟與試算表繫結的指令碼。
- 編寫巨集函式。巨集函式不應接受任何引數,也不應傳回任何值。
- 編輯指令碼資訊清單,建立巨集並連結至巨集函式。為其指派不重複的鍵盤快速鍵和名稱。
- 儲存指令碼專案。這樣一來,即可在工作表中使用巨集。
- 測試工作表中的巨集函式,確認函式是否正常運作。
編輯巨集
如要編輯附加至工作表的巨集,請按照下列步驟操作:
- 在 Google 試算表 UI 中,依序選取「Extensions」>「Macros」>「Manage macros」。
- 找出要編輯的巨集,然後依序選取「 」>「編輯巨集」。這會在 Apps Script 編輯器中開啟含有巨集函式的專案檔案。
- 編輯巨集函式即可變更巨集行為。
- 儲存指令碼專案。巨集就會出現在工作表中使用。
- 測試工作表中的巨集函式,確認函式是否正常運作。
以巨集的形式匯入函式
如果試算表中已有繫結的指令碼,您可以import指令碼中的函式做為新巨集,然後指派鍵盤快速鍵。方法是編輯資訊清單檔案,然後將另一個元素新增至 sheets.macros[]
屬性。
或者,您也可以按照下列步驟,從 Google 試算表 UI 匯入函式做為巨集:
- 在 Google 試算表 UI 中,依序選取「Extensions」>「Macros」>「Import」。
- 從清單中選取函式,然後按一下「Add function」。
- 選取 即可關閉對話方塊。
- 依序選取「擴充功能」>「巨集」 >「管理巨集」。
- 在清單中找出您剛剛匯入的函式。您可以為巨集指派不重複的鍵盤快速鍵。也可以在這裡變更巨集名稱;名稱預設為函式名稱。
- 按一下「更新」,儲存巨集設定。
巨集的資訊清單結構
以下資訊清單檔案範例程式碼片段,顯示定義 Google 試算表巨集的manifest部分。資訊清單的 sheets
區段會定義指派給巨集的名稱和鍵盤快速鍵,以及巨集函式名稱。
{
...
"sheets": {
"macros": [{
"menuName": "QuickRowSum",
"functionName": "calculateRowSum",
"defaultShortcut": "Ctrl+Alt+Shift+1"
}, {
"menuName": "Headerfy",
"functionName": "updateToHeaderStyle",
"defaultShortcut": "Ctrl+Alt+Shift+2"
}]
}
}
如要進一步瞭解如何建構 Google 試算表巨集資訊清單,請參閱「Google 試算表巨集資訊清單資源」。
最佳做法
在 Apps Script 中建立或管理巨集時,建議您遵循下列指南。
- 輕量式巨集的效能會比較好。盡可能限制巨集執行的動作數量。
- 巨集最適合用於需要經常重複執行且幾乎不需要設定的機械式作業。如要執行其他作業,建議您改用自訂選單項目。
- 請務必記住,巨集鍵盤快捷鍵必須是唯一的,且每個工作表一次只能有十個含有快捷鍵的巨集。任何其他巨集只能透過「擴充功能」>「巨集」選單執行。
- 對單一儲存格進行變更的巨集,如要套用到多個儲存格範圍,請先選取整個範圍,然後再啟用巨集。也就是說,通常不必建立巨集,在預先定義的儲存格範圍內重複相同的作業。
禁止事項
巨集功能有一些限制:
在受限指令碼之外使用巨集
巨集是在綁定特定 Google 試算表的指令碼中定義。如果在獨立指令碼或網頁應用程式中定義巨集定義,系統會忽略這些定義。
在 Google 試算表外掛程式中定義巨集
您無法使用 試算表外掛程式發布巨集定義。試算表外掛程式專案中的所有巨集定義,都會遭到該外掛程式的使用者忽略。
在指令碼程式庫中發布巨集
您無法使用 Apps Script 程式庫發布巨集定義。
在 Google 試算表以外使用巨集
巨集只是 Google 試算表的功能,不適用於 Google 文件、表單或簡報。