![google-spreadsheet-add-button-execute-apps-script.jpg-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://1.bp.blogspot.com/-2YIEhGRZkik/W26Yz3DgKJI/AAAAAAAAXec/_jiwLimXWgI2Y9O_SjyUDDSKCNvmL8xfgCLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script.jpg)
而每次執行 Google Apps Script 時,需要幾個步驟才能從試算表切換到 Apps Script 後台、選取指定的函數來執行。如果這是一次性的動作也就算了,長期都要這麼做的話會有點麻煩。
於是研究了一下能否在 Google 試算表上直接做出一個介面,例如產生一個圖形按鈕,按下後立即執行指定的函數,這樣就方便多了。
(圖片出處: pexels.com)
一、用途廣泛
舉例 1
好幾年前寫過一篇「讓 Google 試算表製作的問卷試題能自動計分」,當時使用 Google 試算表內建的函數來操作,其實非常麻煩、又記不住這些特殊的函數用法,我認為比較複雜的試算表函數都不太實用。
如果這些操作改用 Apps Script 來寫,只要有 js 基礎很簡單就能解決了,都是很基本的加減乘除而已,主要是麻煩在執行指令碼時要切換到後台。
現在知道如何在 Google 試算表創建按鈕的方法後,在前台點擊按鈕就可立刻算出分數來了。
舉例 2
如果使用 Google 試算表做記帳、或資產負債表之類,某些儲存格需要比較複雜的計算時,一樣可以寫 Apps Script,然後再拉個按鈕到儲存格旁邊,點擊後即可算出金額。
二、製作按鈕的方式
![google-spreadsheet-add-button-execute-apps-script-1.jpg-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://4.bp.blogspot.com/-98fz94WY5jo/W26Yx04bPKI/AAAAAAAAXd0/IYahzt7FTMQL5E9LttHEe5GyKfNiXlJ-wCLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-1.jpg)
有兩種方式可以製作按鈕來執行 Apps Script,進入試算表後,點擊選單「插入」:
- 圖片
- 繪圖
選擇「圖片」的流程比較簡單,但要自行先製作圖片。相較之下,反而選擇「繪圖」來製作簡單的按鈕,會比較節省時間。
本篇以下說明使用「繪圖」來製作按鈕的流程,使用「圖片」的話,後續執行 Apps Script 的操作是一樣的。
![google-spreadsheet-add-button-execute-apps-script-2.jpg-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://3.bp.blogspot.com/-gzxGFnyYS08/W26YyQ-gxBI/AAAAAAAAXd8/SRHk0qlLougrxxqNiOMvWHmiUVwybTxOgCLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-2.jpg)
選擇「繪圖」後,點擊選單「文字框」可製作按鈕。
![google-spreadsheet-add-button-execute-apps-script-3.jpg-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://1.bp.blogspot.com/-xnP3VELLUMk/W26YyoS-1PI/AAAAAAAAXeA/s3z5MiItCUMBnR7NwbNLwQP79zj9G3FAgCLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-3.jpg)
請自行輸入文字、加底色、調整文字顏色、文字尺寸等,完成後按右上角「儲存並關閉」。
非常重要的一點:底色建議使用淡色,否則將來按鈕的選單圖示可能看不到。
![google-spreadsheet-add-button-execute-apps-script-4.jpg-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://1.bp.blogspot.com/-LwWf3afHJ8o/W26Yy6xeDII/AAAAAAAAXeE/AWpMG-Yre_Ij-FSMytIDC9-kBuLrV83xACLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-4.jpg)
如上圖,點擊做好的按鈕後,除了可調整按鈕尺寸,還會出現紅圈處的 "三個黑點選單圖示"。
如果底色選擇深色、甚至是黑色就會看不出選單圖示了!(同樣的,如果選擇 "圖片" 按鈕,別選擇會讓選單看不見的圖片顏色)
接著點擊「指派指令碼」,選擇要執行的 Apps Script 函數名稱。
![google-spreadsheet-add-button-execute-apps-script-5.png-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://4.bp.blogspot.com/-Z4oAF2qQaDE/W26Yy1jYWZI/AAAAAAAAXeI/J984NQVkUBMaBnG27pQAS49Uut2VXuAfwCLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-5.png)
例如輸入 "click",那麼之後命名的函數名稱就必須是這個字串。
三、撰寫 Apps Script 指令碼
![google-spreadsheet-add-button-execute-apps-script-6.png-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://4.bp.blogspot.com/-ajsAqgJzS_E/W26YzGCwmYI/AAAAAAAAXeQ/RjRdN_iBupk2-s6mCG7iKAbr4_uGT_oZQCLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-6.png)
接著點擊選單「工具」→「指令碼編輯器」,進入 Apps Script 後台。
![google-spreadsheet-add-button-execute-apps-script-7.jpg-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://1.bp.blogspot.com/-IFi9JmKK9cY/W26YzJYS37I/AAAAAAAAXeM/pc4u4KnOeMImiv_NAEHgTPHLDqyS-dtgQCLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-7.jpg)
在程式碼區塊中,輸入以下範例 code:
function click() {
Browser.msgBox("歡迎來到 WFU BLOG !");
}
函數名稱 click 要跟前面設定的字串一樣,程式碼改成自己要執行的 js。
完成後按紅框處的「存檔」圖示。
![google-spreadsheet-add-button-execute-apps-script-8.png-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://3.bp.blogspot.com/-hS2IiEXrhas/W26YzUu2lbI/AAAAAAAAXeU/e8uBpDq5s4QXI35gGiJZL_HbrUWtQ-MHwCLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-8.png)
回到試算表畫面,點擊按鈕即可執行函數。
但第一次執行時,系統會確認權限,如上圖畫面。
![google-spreadsheet-add-button-execute-apps-script-9.jpg-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://1.bp.blogspot.com/-nPGVVV3eoi8/W26YzjLHwbI/AAAAAAAAXeY/Jg3JUhCiq_EVfhb8WzPJRnxyodT7gzoCACLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-9.jpg)
請按「進階」
![google-spreadsheet-add-button-execute-apps-script-10.jpg-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://4.bp.blogspot.com/-KIdoxVLVKoY/W26Yxj4YAiI/AAAAAAAAXds/N2IFDZvqWo065tyV_B8TbLQC72sRcG5BwCLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-10.jpg)
點擊紅框處那一行
![google-spreadsheet-add-button-execute-apps-script-11.png-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://3.bp.blogspot.com/-BdSTa9pDzG8/W26Yxp9RF2I/AAAAAAAAXdw/056dV5GtNokzs2yXaVUozXIKICs3f5hWQCLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-11.png)
按「允許」即可完成授權
![google-spreadsheet-add-button-execute-apps-script-12.jpg-Google 試算表製作可執行 Apps Script 指令碼的(圖片)按鈕](http://3.bp.blogspot.com/-f4_FGnMjWHQ/W26YyF328jI/AAAAAAAAXd4/WxumAEYLfwc_atkMwX2C9hcFLFpPRz7CACLcBGAs/s1600/google-spreadsheet-add-button-execute-apps-script-12.jpg)
將來點擊按鈕時,不會再出現這些流程,畫面上方紅框處會顯示「正在執行指令碼」。
以範例程式碼為例,執行後會在畫面彈出「歡迎來到 WFU BLOG」的訊息,代表本篇操作流程成功!
更多 Google 試算表相關技巧: