在大型企業或組織工作的人都知道,每天下班前都要手動將更新好的日報表附件寄給主管或相關部門,這不僅浪費時間,還容易因疏忽忘記寄送或附件版本錯誤。雖然 Outlook 內建「排程傳送」功能,但只能單次發送,且無法自動抓取最新更新的附件檔案。這篇教學將示範如何結合 Outlook VBA 巨集與 Windows 工作排程器,打造一套「啟動 Outlook 即自動寄送最新附件」的全自動方案。
請依照以下步驟操作:
Sub Application_Startup()
Dim oApp As Outlook.Application
Dim oMessage As Outlook.MailItem
Set oApp = Outlook.Application
Set oMessage = oApp.CreateItem(olMailItem)
' 請修改為實際收件人信箱
oMessage.To = "wangxiang169@163.com"
' 郵件主旨
oMessage.Subject = "每日報表"
' 附件路徑:請確認檔案每日會覆寫更新於此路徑
oMessage.Attachments.Add "E:\新建文件夾\每日報表.xls"
oMessage.Send
Set oMessage = Nothing
Set oApp = Nothing
End Sub

關鍵說明:
oMessage.To:填入收件人電子郵件地址,多位收件人以分號分隔。oMessage.Subject:郵件標題,可依需求修改。oMessage.Attachments.Add:指定附件完整路徑。請確保來源檔案每天都會在同一路徑被覆寫更新,巨集才會寄出最新版本。完成後點擊工具列「儲存」圖示,關閉 VBA 編輯器與 Outlook。
讓 Outlook 每天固定時間自動啟動,觸發巨集寄送郵件:
OUTLOOK.EXE(通常在 C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE 或 Office15/16 等版本對應資料夾)。

oMessage.Attachments.Add 行。設定完成後,每天指定時間 Outlook 會自動在背景啟動、抓取最新報表附件、寄送郵件並關閉,完全免除人工操作負擔。