跳轉至

建立 2026-09-21 更新 2026-09-21

種類與觸發方式總覽

「Google Apps Script」其實是同一套 JavaScript 環境的多種用法。這頁用三張表回答:GAS 有哪些種類、每一種通常怎麼被啟動(trigger)、我的需求該選哪一種。細節在各頁,這頁只負責幫你找方向。

想找 SpreadsheetApp、DriveApp 這類服務?

這頁談的是專案的種類與啟動方式。至於 SpreadsheetAppGmailAppDriveAppCalendarApp內建服務,各自做什麼、常搭配哪些觸發、常用度幾顆星,見 內建服務總表

一、GAS 有哪些種類

種類 怎麼建立 通常怎麼被啟動 典型用途 詳見
繫結腳本(container-bound) 試算表、文件、簡報、表單的 擴充功能 → Apps Script 選單、按鈕、onOpenonEdit、可安裝觸發 單一檔案專用的自動化、自訂選單 繫結與獨立專案
獨立腳本(standalone) script.google.com 新增專案 手動、時間觸發、其他檔案的可安裝觸發 定時彙整、跨多個檔案、當函式庫或 API 使用 繫結與獨立專案
自訂函式 在儲存格輸入 =函式名稱() 試算表計算儲存格時 把邏輯包成試算表公式 自訂函式
網頁應用程式(Web App) 部署 → 網頁應用程式 有人用瀏覽器開網址(doGet)、外部系統 POST(doPost 小工具、Webhook 接收端、LINE Bot 後台 網頁應用LINE Bot
編輯器外掛(Editor add-on) 繫結腳本+外掛清單 使用者從選單開啟、onInstallonOpen 側欄工具,給多人安裝使用 外掛
Workspace 外掛與 Chat 應用 獨立腳本+appsscript.json 設定 使用者打開 Gmail/日曆/Drive 側欄、在 Chat 傳訊息 在 Google 產品旁邊放自己的卡片 UI 或聊天機器人 外掛
程式庫(Library) 獨立腳本發佈版本 不會自己啟動,被別的專案引用 多個專案共用同一份程式碼
Apps Script API 在 Cloud 專案開啟 API 外部程式呼叫 scripts.run 從別的系統遠端執行 GAS 函式(少用) 官方文件

一個專案可以同時是好幾種:例如繫結在試算表上、又部署成 Web App、又掛了時間觸發。分類是看「它怎麼被啟動」,不是看「它放在哪」。

二、觸發方式一覽

GAS 函式不會自己跑,一定是被下面其中一種方式啟動:

觸發方式 誰或什麼事件啟動 怎麼設定 以誰的身分執行 能用需授權的服務嗎? 常見用途
手動執行 你在編輯器按 執行,或按選單/繪圖按鈕 選單見 自訂選單 按的人 可以 測試、一次性整理資料
簡易觸發 開啟檔案(onOpen)、改儲存格(onEdit)、改選取範圍(onSelectionChange 函式取這些名字即可,免設定 操作檔案的使用者(不一定能取得其身分) 不行(不能寄信、不能開別的檔案) 加選單、時間戳、輸入檢查
可安裝觸發:時間驅動 時間到了 編輯器 觸發條件ScriptApp 建立觸發的人 可以 每天寄報表、定時更新資料
可安裝觸發:試算表事件 開啟、編輯、結構變更 同上 建立觸發的人 可以 編輯時要寄信、要開別的檔案
可安裝觸發:表單提交 有人送出 Google 表單 同上 建立觸發的人 可以 自動回信、寫入日曆
可安裝觸發:日曆事件 日曆事件被建立、修改或刪除 同上 建立觸發的人 可以 同步行程
HTTP 請求 瀏覽器或外部系統呼叫網址 部署成 Web App 依部署時的「執行身分」 可以 Webhook、LINE Bot、API
外掛/Chat 事件 使用者在側欄或 Chat 操作 appsscript.json 依外掛設定 依授權範圍 外掛 UI、聊天機器人

三個容易混淆的地方:

  • 簡易 vs 可安裝:名字一樣(例如 onEdit)也有兩種。簡易觸發免設定但權限受限;可安裝觸發要自己建立,但可以寄信。要用需授權的服務就必須是可安裝。
  • 腳本不會觸發腳本:官方文件寫明,腳本執行或 API 請求所做的修改不會觸發 onEdit、變更等事件。用程式改儲存格,onEdit 不會跑。
  • 可安裝觸發永遠用建立者的身分跑:不是用「動手改表的同事」。所以寄信會顯示建立者的地址,也吃建立者的配額。

更完整的設定與限制見 觸發條件

三、我的需求該選哪一種

我想要… 建議做法
每天早上 8 點自動寄報表 獨立或繫結腳本+時間驅動可安裝觸發
某欄一改,旁邊自動填時間 繫結腳本+簡易觸發 onEdit(記得過濾工作表與欄)
表單送出後自動回信 表單提交可安裝觸發
讓同事按一下就跑流程 繫結腳本+自訂選單
儲存格裡直接算出結果 自訂函式
別的系統(LINE、金流)通知我 Web App(doPost),見 LINE Bot
很多人安裝、放進 Gmail 或 Chat Workspace 外掛或 Chat 應用
很多專案共用同一段程式 程式庫

接下來看什麼

寫很多 GAS 會不會變慢、單次能跑多久,見 效能與執行限制