繁花四季
說 2 weeks ago @Edit 2 weeks ago
#工作 我學會怎麼指揮ChatGPT幫我寫程式了。
我的使用情境:
「社團課程報名、收費、開立收據及登打學員名冊」是我每年社團招生時要處理的事,因為重複性太高,所以我想做成自動化。
一、學員透過Googe表單填寫報名表。
二、學員現場繳交社費給我。
三、我現場打開Google試算表,現場勾選「已繳社費」,和學員當面核對收費情形。
四、試算表要能自動代入我打勾的日期,而且不會因為日子過去變更。
五、試算表要能自動把幫有繳社費的學員開立收據,並把收據的pdf檔寄給學員。
以上,標示自動的地方有兩個,這兩個地方要寫程式。
使用的工具:
一、Google表單:讓學員線上報名。
二、Google試算表:和Google表單連結的試算表,只要表單新增一筆資料,Google試算表就會新增一筆資料。
三、Google文件:社費收據的範本檔。
四、Google Apps Script:完成自動化的程式工具。
五、Chat GPT:幫我寫出Google Apps Script程式的工具。
繁花四季
2 weeks ago @Edit 2 weeks ago
處理步驟:
一、製作線上報名表單:
xxx年xxxx社團報名表
您好:歡迎您參加xxx年xxxx社團,本社上課地點為「xxxx」,下課時間如下:
- xxxx課程/時間/老師/內容簡述
- xxxx課程/時間/老師/內容簡述
★請注意★填完線上報名表後,請記得將社費xxxx元現場交給xxx和ooo,才算完成報名:
- xxx和ooo固定於社課時段出現,您可以在此現場繳費。
- xxx的辦公室在某地點,您可以到辦公室找人繳錢,為避免向隅,請先來電確認人是否在位置上,電話xxxxxxxx。
我們會回傳報名資訊,請留下您的電子郵件地址。
繁花四季
2 weeks ago @Edit 2 weeks ago
報名欄位設定:姓名(簡答題)、聯絡電話(簡答題)、服務機關(簡答題)、報名課程(複選題)
請跳到Google表單的「設定」分頁,點開「回覆」設定:
- 收集電子郵件地址:
由作答者手動輸入。- 傳送表單回覆副本給作答者:
一律。(這個設定可以讓學員知道自己填了什麼)
- 允許編輯回覆:
開啟。(不小心填錯了還有機會改)
- 僅限回復1次:
關閉。(學員可以幫其他人報名)
繁花四季
2 weeks ago @Edit 2 weeks ago
點開「簡報」設定,編輯提交表單後的確認訊息。
謝謝報名,請記得將社費xxxx元現場交給xxx和ooo,才算完成報名:
- xxx和ooo固定於社課時段出現,您可以在此現場繳費。
- xxx的辦公室在某地點,您可以到辦公室找人繳錢,為避免向隅,請先來電確認人是否在位置上,電話xxxxxxxx。
點擊Google表單的預覽,輸入2-3筆測試資料,確認內容是您想要的。
二、處理Google試算表:
(一)點開Google表單的「回覆」分頁,右上角有個「在試算表中查看」的標記,點下去啟用,可以看到一個紀錄測試資料的試算表,欄位如下:
第1欄:時間戳記。
第2欄:電子郵件地址
第3欄:姓名
第4欄:聯絡電話
第5欄:服務機關
第6欄:報名課程(可複選)
繁花四季
2 weeks ago @Edit 2 weeks ago
(二)增加第7欄「社費收迄」,欄位屬性調整為「下拉式選單」,在選項輸入「是」和「否」。
(三)增加第8欄「收費日」,要能自動代入我打勾的日期,而且不會因為日子過去變更。這裡要用程式處理。
(四)增加第9欄「經手人」,欄位屬性調整為「下拉式選單」,在選項中輸入可以收社費人員的名字,以本例來說,是xxx和ooo。
(五)增加第10欄「收據連結」,用程式自動產出收據後,會在雲端硬碟留下一個收據的Google文件,我想連結過去,日後比對比較方便。
我最近也正在是類似的功能,剛好來試看看你的指令(筆記)
繁花四季
2 weeks ago @Edit 2 weeks ago
三、第一個Google Apps Script:
我發現,當我在Google表單新增資料時,我自建的欄位(第7到10欄)不會自己複製格式,要自己複製格式貼上去,這不符合我想要自動化精神,我想改,於是我召喚了GPT大神。
繁花四季
2 weeks ago @Edit 2 weeks ago
打開Chat GPT,輸入問題:「當我在Google表單新增一筆資料時,我希望他連結的Google試算表裡的表格(表格名稱Form_Responses1)可以複製第7欄到第10欄的格式到新的資料。請問要如何處理?」
然後GPT就會生出一串Apps Script程式碼給你,還教你怎麼設定觸發條件,照著做就好了!
Chat GPT產出的程式很客製化,我這邊生出來的程式碼不一定適合你,請按著GPT教學做就好。
完成後,請在Google表單新增幾筆資料,看看效果是不是自己想要的。
繁花四季
2 weeks ago @Edit 2 weeks ago
四、第二個Google Apps Script:問GPT:「當我在第7欄選擇「是」時,第8欄會回傳當天的日期,這個日期不會隨時間變動,永遠為定值,請問要用什麼方式完成?」
把這個問題丟給gpt,請他產出程式。
繁花四季
2 weeks ago @Edit 2 weeks ago
其他的GPT問法如:如果我要指定在檔案id為「 Google的檔案id」的Google試算表中執行「當第g欄的結果為是時,自動在第h欄代入當天的日期。」,要如何執行?
完成後,請到google試算表在「社費收迄」調整成「是」,看看收費日會不會出現當天的日期。
五、到Google文件製作收據範本
會因為資料列而有變動的地方,請用{{欄位名稱}}處理。
接下來的工作會用到Google文件的「檔案id」和「資料夾id」。
Google文件的「檔案id」在這裡:
Google資料夾的id在這裡
繁花四季
2 weeks ago @Edit 2 weeks ago
六、第三個Google Apps Script,幫有繳社費的學員開立收據,並把收據的pdf檔寄給學員。請到Chat GPT輸入以下問題:
請幫我寫一組Google app script
1.把Google試算表id"請複製貼上id名"的google sheet的內容合併列印到Google文件id"請複製貼上id名"中。
2.只有Google試算表第7列值為"是",以及第10列值為"空值"的資料,才須要生成Google文件。
3.生成文件的方式請直接複製範本文件,以保留範本的所有格式設定。
繁花四季
2 weeks ago @Edit 2 weeks ago
4.生成的Google文件檔案要放在資料夾路徑"請複製貼上id名"
5.生成的Google文件先確保存在伺服器後,再轉成pdf檔寄回去,檔案名稱在Google sheet的第3列,電子信箱在第2列。
6.生成的Google文件連結要放在 Google sheet的第10列。
7.寄出去的郵件主旨是「xxx社團報名費收據」,內文是「感謝您參加xxx社團,這是您的報名費收據。信件由系統自動寄出,如有問題請洽社長。」
繁花四季
2 weeks ago @Edit 2 weeks ago
如果生成的程式有問題,可以請Chat GPT幫你修改,舉例來說,我遇到寄出去的pdf是空白檔,我就問Chat GPT:「寄出的pdf檔是空白檔,請問我要程式中增加什麼指令?」
然後GPT就會說,因為產出的文件還沒存到伺服器,就把它轉成pdf寄出去,以致得到空白檔,然後他就會幫你修正程式碼,請把新的程式碼覆蓋舊的程式碼即可。
繁花四季
2 weeks ago @Edit 2 weeks ago
再來,我發生寄出去的收據沒有帶入我設定的格式,我就問GPT:「我調整了 Google 文件範本的頁面尺寸、頁面底色以及文字大小,但程式生成的文件還是用預設值,請問我要怎麼處理?」
GPT也會幫你改程式。
繁花四季
2 weeks ago @Edit 2 weeks ago
最後,我還有遇到不能自動取代佔位符的問題,我就問GPT:「請問替換範本文件中的佔位符的程式有沒有更彈性的寫法?可以自行尋找佔位符的位置,把Google試算表的內容放上去。」
GPT就幫我寫了一個很有彈性的程式,讚!
繁花四季
2 weeks ago @Edit 2 weeks ago
後記,我要感謝咱家的資訊同事,當我為了這個工作抓耳撓腮時,資訊同事就問我:「你要不要請GPT幫你寫」,我想了想,也不是說不可以,這位同事之前用AI輔助,幫長官寫了一個吃喝玩樂攻略網站,還上新聞了,是使用者見證。
於是我就打開GPT,問了一句:「請幫我寫一組Google apps script,讓Google試算表的資料可以合併到Google文件裡。」,接著,GPT就從善如流地生出程式。在反覆幾次交談後,我把自己的需求逐條列點,最後就變成上面的樣子。
資訊同事的新聞:
桃市府員工藉AI寫吃喝玩樂攻略 資科教授副秘書長大推 | 聯合新聞網
繁花四季
2 weeks ago @Edit 2 weeks ago
我向組長聊了這件事,組長打趣道:「下回資訊同事被金副秘糾上去寫程式,妳也跟去好了。」
我瞬間一臉驚恐:「不要啊!我一個唸農的,練拳的,跟資訊教授沒什麼好說的。」