Google表單挺方便的,又是免費使用,資料又自動整理到Google Drive的試算表
而內含的編輯器也可加trigger發送確認信
而內含的編輯器也可加trigger發送確認信
- 新增表單
點選「新增/Google表單」
- 查看回應
表單的設計就不多說了,直接看回應
點選「查看回應」
- 編輯指令
點選「工具/指令碼編輯器」
- 新增Script檔案
點選「檔案/新增/指令碼檔案」
- 編輯Script
以下程式碼即為上圖的程式,參考以下改來的
reference: Send Google Forms by Email/* Send Confirmation Email with Google Forms */ function SendGoogleForm(e) { var message = ''; for (var filed in e.namedValues) { message += filed + ": " + e.namedValues[filed] + '< br />'; } var recipient = e.namedValues['電子信箱']; //e即為回覆的試算表,而namedValues即取得該欄位名的內容 var cc = 'yup.japan@gmail.com'; //cc一份給自己 var subject = "Yup!代購單確認單"; var sendername = 'Yup!代購'; var textbody = message.replace('< br />', '\n'); GmailApp.sendEmail(recipient, subject, textbody, {cc: cc, name: sendername, htmlBody: message}); } function Initialize() { var triggers = ScriptApp.getProjectTriggers(); for(var i in triggers) { ScriptApp.deleteTrigger(triggers[i]); } ScriptApp.newTrigger("SendGoogleForm") .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet()) .onFormSubmit() .create(); }
- 啟動程序
寫好Script,現在還得設定觸發
點選「資源/現在專案的啟動程序」
p.s. 如果仍收不到信的話 要先跑一次initialize(),手動執行or設觸發都可 - 新增觸發程序
由於尚未建立任何觸發程序,因此會跳出這個視窗
點選「尚未建立觸發程序,按一下....」
- 設定觸發程序
設定user提交表單時,才會觸發程序
這樣就完成了,user提交表單後,就會發信通知
p.s. 在google form及google試算表都可以寫script,但在form觸發會抓不到內容
p.p.s. 好像得先按「執行」run過一次程式裡的Initialize()
沒有留言:
張貼留言