如果指令碼是透過該文件建立,而非獨立指令碼,就會繫結至 Google 試算表、文件、簡報或表單檔案。已繫結指令碼的附加檔案稱為「容器」。 繫結的指令碼通常與獨立指令碼類似,差別在於它們不會顯示在 Google 雲端硬碟中,也不能從繫結的檔案卸離,並且對父項檔案取得一些特殊權限。
請注意,指令碼也可以繫結至 Google 協作平台,但這些指令碼幾乎一律會部署為網頁應用程式。繫結至 Google 試算表、文件、簡報或表單的指令碼也可能變成網頁應用程式,不過這種情況並不常見。
建立繫結指令碼
Google 文件、試算表或簡報
如要在 Google 文件、試算表或簡報中建立繫結指令碼,請在 Google 文件、試算表或 Google 簡報中開啟文件,然後依序按一下「擴充功能」>「Apps Script」。日後如要重新開啟指令碼,請執行相同操作,或在 Apps Script 資訊主頁開啟指令碼。
Google 表單
如要在 Google 表單中建立繫結指令碼,請開啟表單,然後依序點選「更多」圖示 >「Script Editor」。日後如要重新開啟指令碼,請執行相同操作,或是從 Apps Script 資訊主頁開啟指令碼。
特殊方法
繫結指令碼可以呼叫幾個獨立指令碼無法呼叫的方法:
getActiveSpreadsheet()
、getActiveDocument()
、getActivePresentation()
和getActiveForm()
可讓繫結指令碼參照其父項檔案,不必參照檔案 ID。getUi
可讓繫結的指令碼存取父項檔案的使用者介面,以便新增自訂選單、對話方塊和側欄。- 在 Google 試算表中,
getActiveSheet()
、getActiveRange()
和getActiveCell()
可讓指令碼決定使用者的當前工作表、所選儲存格範圍或選取個別儲存格。setActiveSheet(sheet)
和setActiveRange(range)
可讓指令碼變更這些選項。 - 在 Google 文件中,
getCursor()
和getSelection()
可讓指令碼決定使用者的遊標或所選文字的位置。setCursor(position)
和setSelection(range)
可讓指令碼變更這些位置。
詳情請參閱擴充 Google 試算表的指南或擴充 Google 文件的指南。
自訂選單、對話方塊和側欄
繫結指令碼可以新增自訂選單和對話方塊或側欄,藉此自訂 Google 試算表、文件和表單。不過請注意,指令碼只能與開啟檔案目前執行個體的使用者介面互動。也就是說,繫結至某一文件的指令碼不會影響另一份文件的使用者介面。
附加內容
外掛程式可在 Gmail、Google 試算表、文件、簡報和表單中執行。如果您開發了繫結或獨立指令碼,並想與全世界分享,則可使用 Apps Script 以外掛程式的形式publish指令碼,方便其他使用者從外掛程式商店安裝。
觸發條件
繫結指令碼可以使用簡易觸發條件,例如特殊的 onOpen()
函式。每當有編輯存取權的使用者開啟檔案時,這項功能就會自動執行。如同所有類型的指令碼,這些觸發條件也能使用可安裝觸發條件。
自訂函式
「自訂函式」是指令碼繫結至 Google 試算表的函式,您可以使用語法 =myFunctionName()
直接從儲存格呼叫。因此,自訂函式與試算表中數百個內建函式類似 (例如 AVERAGE
或 SUM
),但由您定義自訂函式的行為。
存取繫結的指令碼
只有具備容器編輯權限的使用者,才能執行繫結指令碼。 如果協作者只擁有檢視權限,就無法開啟指令碼編輯器,雖然建立容器檔案副本時,他們會成為副本的擁有者,並且可以查看及執行該指令碼的副本。
如要瞭解如何共用指令碼的容器檔案,請參閱「從 Google 雲端硬碟共用檔案」。
所有容器繫結的指令碼都會使用為容器檔案定義的擁有者、檢視者和編輯者存取權清單。