GAS 寄送電子郵件

這需要用到 MailApp 這個工具。它是內建用來處理電子郵件的指令。非常方便。

準備試算表資料

先在 A1 格子輸入你的電子郵件地址。在 B1 格子隨便輸入一些想說的話。這些資料等一下會被程式抓走。

撰寫寄信程式碼

打開程式編輯器。在原本的程式下面貼上這段。

function sendMyEmail() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var recipient = sheet.getRange(1, 1).getValue();
  var body = sheet.getRange(1, 2).getValue();
  
  MailApp.sendEmail(recipient, "來自試算表的自動信", body);
}

再次授權與執行

按下執行。系統會再一次要求權限。因為這次涉及寄送信件。這屬於敏感動作。一樣點選進階並允許。這是最後一次授權了。

檢查信箱

去你的 Gmail 收件匣看看。你會發現剛才輸入在 B1 的文字已經變成一封信。主旨就是我們在程式碼裡寫的那串字。


你想知道如何設定定時自動執行,例如每天早上八點自動檢查並寄信嗎?

開啟觸發條件設定

在程式編輯器的左側選單。你會看到一個時鐘形狀的圖示。那個就是觸發條件。點進去之後。按下右下角的建立觸發條件。

設定定時執行

在跳出的設定視窗。選擇你想執行的函式名稱。例如剛才寫的 sendMyEmail。選取事件來源選單。把它改成時間驅動。

選擇時間頻率

接著可以選擇特定的時間類型。你可以設定為每分鐘、每小時或每天。如果選每天定時。下方還能指定要在哪個時段執行。例如早上八點到九點。

儲存設定

設定完成後按下儲存。系統可能會再請你確認一次帳號權限。存好之後。就算你關掉電腦。Google 的伺服器也會在指定的時間。準時跑你的程式。

自動化的終極目標

現在你的試算表已經會判斷成績。還會自動寄信。甚至還能定時工作。這就是最完整的自動化流程。你不需要親自盯著螢幕。


你想試試看如何讓程式在有人填寫表單時。立刻自動發送通知給你嗎?

建立 Google 表單

首先去建立一個簡單的 Google 表單。設定幾個問題,例如姓名與意見。在表單上方的回覆分頁。點選連結至試算表。這樣表單資料就會自動進到你的試算表格子裡。

撰寫通知程式碼

回到跟表單連結的那個試算表。打開程式編輯器。我們寫一個新的函式。專門用來通知有人填寫了資料。

JavaScript

function onFormSubmitNotification(e) {
  var userValues = e.values;
  var name = userValues[1];
  var message = "收到新表單!填寫人是:" + name;
  
  MailApp.sendEmail("你的信箱@gmail.com", "表單提交通知", message);
}

設定表單提交觸發器

同樣進入左邊的觸發條件頁面。點選建立觸發條件。函式選擇 onFormSubmitNotification。事件來源選取來自試算表。最重要的步驟是把選取事件類型改成提交表單時。

實際測試

儲存設定後。去填寫一次你的 Google 表單並按下送出。幾秒鐘內。你的 Gmail 就會收到一封通知信。告訴你是誰填了表單。

流程總結

到這裡你已經掌握了 GAS 的核心:讀寫格子、條件判斷、按鈕執行、定時任務,以及連動其他 Google 服務。這些技巧可以組合出成千上萬種自動化工具。


了解 e 的含義

在剛才的程式碼中。e 代表 event。也就是事件物件。當有人按下表單提交。Google 會把所有填寫的內容。打包成這個 e 送給程式。

抓取表單欄位內容

e.values 是一個清單。裡面照順序存著表單的回答。通常索引 0 是填寫時間。索引 1 開始才是你的問題答案。

function onFormSubmitNotification(e) {
  var timestamp = e.values[0];
  var name = e.values[1];
  var feedback = e.values[2];
  
  var message = "時間:" + timestamp + "\n姓名:" + name + "\n內容:" + feedback;
  MailApp.sendEmail("你的信箱@gmail.com", "新回覆通知", message);
}

除錯的小撇步

如果你發現收到的內容不對。可以在程式裡加入 console.log(e.values)。這樣在執行紀錄裡就能看到抓到的資料長什麼樣子。這對調整程式非常有幫助。

延伸應用場景

除了寄信給自己。你也可以修改程式碼。把這封信寄給填寫表單的人。當作自動回覆的感謝函。這在辦活動或是收報名表時非常好用。

你的下一步

你已經從零開始學會了 GAS 最強大的幾種用法。這就像是拿到了開啟自動化大門的鑰匙。你可以開始嘗試把日常重複的瑣事交給程式處理。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *