大家好,今天就是我們鐵人賽的最後一天了,想要在今天幫大家做個整理表,這樣也比較好找資料。如果有興趣,心路歷程在最後面,或許可以給想要寫 GAS 的人參考。
考量到大部分的人沒有追連載,到這邊應該是想要快速找哪邊可以幫助你。這很重要沒錯,但也請要先了解一下 Google Apps Script 的使用情境之一——
這邊是假設一搬人行政文書使用的流程優化,如果本身就是要開發用 GAS 寫出來的產品那就另當別論
另外,在開發之前,請確認三件事——
首先,這幾天 Google Apps Script 的清單如下——
主要內容有提到 GAS 的基本介面、Trigger 與 debug 方式之一(Log)。
日期 | 主題 | 內容概述 |
---|---|---|
D1 | 誰適合使用 Google Apps Script (GAS)呀? | 基本範圍與文章目標族群界定 |
D2 | Google Apps Script (GAS) 環境設定與設定打包 | 基本操作介面熟悉與功能大致範圍界定 |
D3 | 如何透過 Google Apps Script 的 Trigger 來建立一個自動開啟、調整與關閉的 Google 表單? | Trigger 介紹 |
主要有提到怎麼樣創造、讀取、複製與更動表單。更細節有講到自動開啟或關閉(Trigger)、連結 Google Sheet 並寄出 Email 和連動 Google Calendar
日期 | 主題 | 內容概述 |
---|---|---|
D3 | 如何透過 Google Apps Script 的 Trigger 來建立一個自動開啟、調整與關閉的 Google 表單? | 創造 Google From 並搭配 Trigger 的自動化案例 |
D4 | 如何透過 Google Apps Script 來整合 Google Form / Google Sheet 並自動寄出客製的 Email? | Google 表單後續流程接續自動化寄信的案例 |
D11 | (ㄧ)複製並客製你的 Google Form | 用 GAS 依照範本寫 Google Form 的案例 |
D12 | (二)大幅度客製你的 Google Form | 用 GAS 依照範本客製 Google Form 的案例,有針對細部元素特別說明 |
D13 | (三)一次搜集很多 Google Form 內的回應 | 用 GAS 搜集多份 Google Form 內回應的案例 |
Gmail 的部分,主要是有寄信、依據分類寄出客製化信件、寄出 HTML 與跟 Google Calendar 連動,最後還有股票價格通知信。
日期 | 主題 | 內容概述 |
---|---|---|
D4 | 如何透過 Google Apps Script 來整合 Google Form / Google Sheet 並自動寄出客製的 Email? | 針對不同收件人的寄件方式介紹 |
D5 | 如何用 Google Apps Script 搭配 HTML 客製 Google 表單的回應信件? | 整合 Google Form 與信件的案例 |
D6 | 如何用 Google Apps Script 將 Google 表單收到的時間同步在 Google Calendar 上? | 將 Google Form 透過 Sheet 整合一份 Calendar 的案例 |
D7 | 如何用 Google Apps Script 將 Google 表單的回應即時同步在多個行事曆上? | 將 Google Form 透過 Sheet 整合多份 Calendar 的案例 |
D25 | (二)結合股票價格通知與信件 | 透過 Gmail 寄送 Google Sheet 中資料提示的案例 |
Google Calendar 的部分,主要都是跟 Google Sheet 結合,不管是列出事件或是生成新的行程。
日期 | 主題 | 內容概述 |
---|---|---|
D6 | 如何用 Google Apps Script 將 Google 表單收到的時間同步在 Google Calendar 上? | 將 Google Sheet 中的資料同步到一份 Google Calendar 的案例 |
D7 | 如何用 Google Apps Script 將 Google 表單的回應即時同步在多個行事曆上? | 將 Google Sheet 中的資料同步到多份 Google Calendar 的案例 |
D8 | 如何用 Google Apps Script 將 Google Calendar 上的事件與更新全部列出到 Google Sheet 上? | 將 Google Calendar 上的資料同步到 Google Sheet 上的方式 |
Google Drive 部分,則有列出 Google Drive 的資料夾與檔案的相關資訊(名稱、ID、大小、預覽與權限等)、更改名稱與轉移權限、移動與刪除檔案。
日期 | 主題 | 內容概述 |
---|---|---|
D9 | (一)列出所有檔案 ID 與相關資訊 | 給予 Google Drive 資料夾 ID 並讀出裡面資訊的案例 |
D10 | (二)自動列出所有檔案並設定權限 | 給予 Google Drive 資料夾 ID 並讀出裡頭檔案權限並更改 |
D22 | (三)一次看完所有檔案的預覽 | 將檔案的預覽圖透過 Google Slides 一次性地顯現出來的案例 |
Google Docs 的部分,有提到架構的講解、內容元素的層級,以及怎麼創造文件、依據範本複製文件與內部物件的讀取、客製與刪除。
日期 | 主題 | 內容概述 |
---|---|---|
D14 | (一) 以 NDA 為例的大架構與簡單複製 | Google Docs 的基本架構,與從 Google Sheet 中擷取資料並複製範本更改多份 Google Docs 的案例(Header / Footer / Name) |
D15 | (二)快速生出大量寄件信封資料 | 從 Google Sheet 中擷取資料並複製範本更改多份 Google Docs 的案例(Body Content) |
D16 | (三)Element 的讀取與創造 | 用 GAS 讀取與創造 Google Docs 內部一個個段落、表格與圖片等的案例 |
D17 | (四)Element 的刪除與層級關係 | Google Docs 的層級關係,以及用 GAS 刪除與精細選擇 Google Docs 內部一個個段落、表格與圖片等的案例 |
D18 | (五)Element 的更新 | 針對 Google Docs 中已有物件內容進行更新的方式 |
D19 | (六)更改特定內容格式的 Attribute 操作技巧 | 針對 Google Docs 中的物件屬性(外型)調整的方式 |
Google Slides 的部分,則是從簡報的架構、創造與複製範本開始,有講到更動簡報的內容、更改或讀取特定內容以及新增與放入圖表等。
日期 | 主題 | 內容概述 |
---|---|---|
D20 | (一)架構拆解與更改文字 | Google Slides 的架構,以及如何針對已有的內容文字進行讀取與更改的案例 |
D21 | (二)自動化爲鐵人賽的每一篇貼文生封面圖 | 依照範本投影片更改並生成多份 Slide 的案例 |
D22 | (三)一次看完所有檔案的預覽 | Google Slide 與其他資料源如 Google Drive 等連動的案例 |
D23 | (四)ㄧ次抓出所有簡報中的「特定文字」與備註 | Google Slide 中針對特殊元件、文字進行讀取並放到 Google Sheet 上的案例 |
D24 | (ㄧ)自動化創造圖表 | 在 Google Slide 上放入 Google Sheet 中圖表的案例 |
Google Sheet 的部分,除了創造、複製之外,就是有取得很多試算表內的資料,並進一步處理像是創造圖表,或是將結果用信件做通知。
日期 | 主題 | 內容概述 |
---|---|---|
D4 | 如何透過 Google Apps Script 來整合 Google Form / Google Sheet 並自動寄出客製的 Email? | 從 Google Sheet 中寄信給不同收件人的案例,最基礎的 Google Sheet 架構在這一篇 |
D6 | 如何用 Google Apps Script 將 Google 表單收到的時間同步在 Google Calendar 上? | 從 Google Sheet 中同步 Google Calendar 的案例 |
D7 | 如何用 Google Apps Script 將 Google 表單的回應即時同步在多個行事曆上? | 從 Google Sheet 中同步到多份 Google Calendar 的案例 |
D8 | 如何用 Google Apps Script 將 Google Calendar 上的事件與更新全部列出到 Google Sheet 上? | 在 Google Sheet 上抓到 Google Calendar 上的資料 |
D14 | (一) 以 NDA 為例的大架構與簡單複製 | 用 Google Sheet 的資料創造 Google Docs 的案例(Header / Footer / Name) |
D15 | (二)快速生出大量寄件信封資料 | 用 Google Sheet 的資料創造 Google Docs 的案例(Body Content) |
D23 | (四)ㄧ次抓出所有簡報中的「特定文字」與備註 | 用 Google Sheet 列出 Google Slide 中的特殊物件上的案例 |
D24 | (ㄧ)自動化創造圖表 | 圖表講解與用 Google Sheet 創造圖表放到 Google Slide的案例 |
D25 | (二)結合股票價格通知與信件 | 將 Google Sheet 中的資料更新/提示寄送的案例 |
D26 | (三)大量複製試算表並留下連結 | 將 Google Sheet 的資料表複製給不同使用者的案例(在「要整理面試官打的分數」的情境下) |
D27 | (四)蒐集大量試算表中的回應 | 將多份 Google Sheet 中的資料整理到一份的案例(在「要整理面試官打的分數」的情境下) |
日期 | 主題 | 內容概述 |
---|---|---|
D5 | 如何用 Google Apps Script 搭配 HTML 客製 Google 表單的回應信件? | 用 GAS 寄出 HTML 的案例 |
D28 | (ㄧ) 變成可以 Add-On 似的 UI | 將 GAS 的功能變成可以按的 UI |
D29 | (二)變成 WebApp / HTML Output | 將 GAS 的功能變成可以互動的 HTML |
D30 | 三十天 Apps Script 旅程的總整理 | 今天這篇總整理 |
好,接下來則是一些心路歷程,分享給想踏入 GAS 坑的夥伴。
回看這三十天鐵人賽的文章,平均每篇費時兩個小時,字數在五千上下,要說的話就是,超級累啊啊啊啊啊啊。
過程中一度很想放棄,除了在看到 D20 前後時的文章大概都只有十來人閱讀時,加上工作都忙到八九點,回家都十點了再加兩個小時,總是壓死線寫出,中間也發生了不少是,像是這篇就是帶家人到急診室時打的,切記勿穿短褲拖鞋到急診室,超冷。以及忙碌中對大綱不一定有靈感,中間有幾度迷航,甚至出文章的品質下降,都是假日回來優化。但所幸有個轉折,就是 D15 快速生出大量寄件信封資料 這篇。因為那時候剛好同事需要幫忙,就用這樣的範本協助慢慢複製貼上的過程,看到能幫同事省時間,是蠻開心的。這篇同時也是自己最喜歡的文章。
不過,GAS 真的挺方便的,像是今天內容的 Markdown 表格其實就是用 GAS 幫我省了些時間。
三十天的過程中,主要的進步有幾份——
儘管每次回頭看自己寫的文章,總是會想揍自己,大概跟回看國高中作文差不多等級,或是在看自己之前的 Code 那樣。所以也幫自己下了幾個坑——
本身來說,我覺得用 GAS 對有需求的人來說,算是個簡單上手的方式,Google 的產品都蠻有品質的,看到後端的程式碼也往往會令人讚嘆,甚至會發現些工程師彩蛋功能像是 developer metadata。過程算是會有些樂趣,不過如果能早點發想完大綱等,就不會其實白天如坐針氈,腦袋不是會飛去想到底要寫什麼。總之,爬這座山的內容並不難,難的是每天要用合適的案例傳達給讀者。
那以上就是我們 GAS 的三十天,想謝謝每一位讀者。鐵人賽也到了終點,希望這些內容對大家有所幫助。如果還有問題,透過留言之外,也可以到 Facebook Group,想開很久這次鐵人賽才真的開起來,歡迎來當 Founding Member。如果不想錯過可以訂閱按讚小鈴鐺(?),也歡迎留言跟我說你還想知道什麼做法/主題。我們有緣再見。