如何用 EXCEL VBA 、Outlook 定時、定期自動寄送郵件
如何定時、定期自動寄送郵件?以下使用利用 EXCEL VBA 及 Outlook來達到自動寄送郵件的目的。而定期、定時這個動作則是使用 Windows Task Schedule (工作排程器)來達成。
使用EXCEL VBA來自動寄送郵件
設計的邏輯大概如下
1. 使用EXCEL VBA 撰寫一個「用OUTLOOK郵寄」的 VBA 巨集。
2. 開啟工作頁時,執行Workbook_Open巨集,並用此巨集開啟「用OUTLOOK郵寄」。
3. 自動關閉EXCEL應用程式。
EXCEL VBA 程式碼 - 寄送郵件
Sub 用OUTLOOK郵寄()
'*************
'
' 設定收件人
'
'*************
Dim I As Integer
Dim M As Integer
Dim ToWho As String
I = Sheets("收件人").Range("B2").End(xlDown).Row
Sheets("收件人").Select
For M = 2 To I
ToWho = ToWho & Cells(M, "B") & ";"
Next M
'設定副本收件人
Dim J As Integer
Dim Q As Integer
Dim ToWhoCC As String
J = Sheets("收件人").Range("F2").End(xlDown).Row
Sheets("收件人").Select
For Q = 2 To J
ToWhoCC = ToWhoCC & Cells(Q, "F") & ";"
Next Q
'設定郵件主旨
Dim YTMailSubject As String
YTMailSubject = Sheets("郵件內容").Cells(1, "B") & " - " & Date
'設定郵件內容
Dim YTMailBody As String
Dim Signature As String
Dim MyAttachmens As Object
'郵件內容主體
YTMailBody = Sheets("郵件內容").Cells(2, "B") & Sheets("郵件內容").Cells(4, "B") & Sheets("郵件內容").Cells(5, "B")
'簽名檔
Signature = Sheets("郵件內容").Cells(3, "B")
Set Outapp = CreateObject("Outlook.application")
Set Outmail = Outapp.CreateItem(0)
Set MyAttachments = Outmail.Attachments
With Outmail
.To = ToWho
.CC = ToWhoCC
.Subject = YTMailSubject
'MyAttachments.Add "C:\【自動化】\已上線\自動郵件-工程預借機提醒\借機表格.xlsx"
.HTMLBody = YTMailBody & Signature
'.Body = YTMailBody
.Send
'.Display
End With
End Sub
搭配設計的 EXCEL 工作頁
收件人:填在「欄位B」
副本收件人:填在「欄位F」
主旨、內容等直接填在相對欄位內即可。填入時請用HTML的格式。
開啟工作頁時,執行巨集
Private Sub Workbook_Open()
Dim F As Boolean
Dim TEST As String
Dim K As Integer
TEST = ThisWorkbook.Path
F = CreateObject("Scripting.FileSystemObject").FileExists(TEST & "\可執行巨集.txt") '確定有這個檔案,才會去執行
If F = True Then
Call 用OUTLOOK郵寄
Application.Quit
End If
End Sub
撰寫 HTML 格式
上面有提到郵件內容要使用HYML格式,但我們不會HTML的語法要怎麼辦?可以直接到以下網頁中
可以直接在此網頁左欄中編輯你想要的格式,也可在Word、Outlook中編輯好格式後,再將其複製並貼到上面,並網頁上的工具轉換為html格式。
轉換完後,我們再將HTML碼貼到EXCEL相對的欄位即可。
工作排程器 Task Schedule 開啟EXCEL檔案
輸入 taskschedlue,並開啟它
建立基本工作
「名稱」:輸入這一個工作的名稱
「描述」:這邊可以針對這個工作做描述,也可以不用寫。
設定工作觸發的時間、週期
上一步我們是選擇「每週」,所以還可以選擇是哪幾天
選擇我們上述設定的EXCEL的範本
執行完上述步驟,即完成定期寄送郵件的設定。
延伸閱讀
文章標籤
全站熱搜
