副題:Google Sheets自動六合彩彩池到價電郵提示 Step-by-Step 更可引發無限應用可能
2. 建立一段能將彩池及日期以電郵發出的程式碼
上回講到我們已經建立了一張 Google Sheet 能自動從馬會網頁取得下期六合彩的彩池金額以及下期搞珠日期的資訊。
要讓 Google Sheets 發出電郵,需要在 Google Sheets 寫幾行簡單的程式碼,告訴 Sheets 電郵的受文者、主旨和內容。
首先打開「Tools」之下的「Script Editor…」:
在新頁面的左上方先隨便給予這個 Script File 一個新名字,就叫 MarkSix Email 吧。也可以同時將程式碼編輯空間內預設的子程式名稱,改成自己喜歡的名字。例如筆者叫它做 sendMarkSix:
程序第一步,是指示 Script 需要存取的是哪個 Google Sheet 試算表的哪一張 Sheet。這時我們回到 Google Sheets並留意網址列,當中能找到Locate 這張 Sheet 的 SheetID(讀者的 SheetID 肯定跟這張是不同的,每一張試算表的 ID 都是唯一的):
回到 Script Editor,在 sendMarkSix 子程式內輸入以下兩行,定義 Script 存取的試算表 sheet:
var spreadsheet = SpreadsheetApp.openById("1b9trFT7cQgft0h4kkhLIQ1_b56kzUWj2_k1cez6_70g");
var sheet = spreadsheet.getSheetByName("Sheet1");
其中第一行紅色的部分是剛才取得的SheetID,而第二行則是試算表的名稱,可在試算表底部找到。
之後就是根據試算表的內容撰寫自動化電郵了。定義以下的變數(受文者、主旨、內容):
var Receiver = "xxx@xx.com";
var Subject = "下期六合彩彩池 " + sheet.getRange("A1").getValue() + " @ " + sheet.getRange("A2").getValue();
var Body = "";
主旨中的 A1 和 A2 分別就是彩池金額和下期搞珠日期。由於這電郵很簡單,資訊一句就能交代完成,所以筆者並不介意將所有資訊放在主旨列,內容留白。
好了,現在萬事區備,只欠一聲發送電郵的號令:
MailApp.sendEmail(Receiver, Subject, Body);
整個發送電郵的程序就寫完了。現在可以按動 Run(並容許程序取得相關的資源執行,例如以你的名義發送電郵),一切順利的話,你應該能在Receiver 所指定的電郵郵箱收到一封電郵:
不過筆者還有一個要求。筆者對獎金太低的六合彩搞珠沒有興趣,所以不希望每一期都收到電郵提示,只有彩池達到 4千萬以上的才通知我(要不然要私人秘書來做甚麼?)。
這時候我們可以定義一個獎金的變數,然後指示當獎金超過某個數額的時候才發電郵(股票到價提示就是用這個技巧了):
var Jackpot = sheet.getRange("B1").getValue();
if (Jackpot > 40000000){
MailApp.sendEmail(Receiver, Subject, Body);
}
最後,作為一位有責任的編程員,記得寫下 Comments 方便日後參考。
3. 建立指示讓程式碼在搞珠日後的午夜運行
最後這一步是最簡單的。六合彩搞珠在每星期二、四、六的晚上舉行,所以在搞珠日後的午夜執行程式,應該可以確保馬會已更新下期六合彩資訊,同時給予我們足夠的時間購買下一期六合彩。
在 Script Editor 介面按下時鐘 icon [Current Project's Triggers]。新增三個 Trigger,分別指示程序自動在星期三、五及日的子夜執行:
按「儲存」就可以。
至此,整個系統已經大功告成!當然這只是一個很簡單的系統,若然當下幫得上忙的話筆者固然高興,但筆者更希望見到的是這小小的兩篇介紹,能啟發讀者開發更深入的系統,將日常的投資和生活重複的工序自動化,以騰出寶貴的時間予做運動和其他讓身體健康的事情,以享受與家人朋友共聚的心靈富足時間,以及財務自由應所帶來真正的自由。
如果讀者希望直接取得原檔,可以在本頁留言處留下電郵地址,也歡迎彼此切磋交流。