Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 電腦軟體介紹

Outlook 自動定時發送郵件並更新附件的完整設定教學

編輯:電腦軟體介紹

痛點:每日手動寄送報表太繁瑣

在大型企業或組織工作的人都知道,每天下班前都要手動將更新好的日報表附件寄給主管或相關部門,這不僅浪費時間,還容易因疏忽忘記寄送或附件版本錯誤。雖然 Outlook 內建「排程傳送」功能,但只能單次發送,且無法自動抓取最新更新的附件檔案。這篇教學將示範如何結合 Outlook VBA 巨集與 Windows 工作排程器,打造一套「啟動 Outlook 即自動寄送最新附件」的全自動方案。

第一步:撰寫 Outlook VBA 自動寄送巨集

請依照以下步驟操作:

  1. 開啟 Outlook 2010(或更新版本),按下 Alt + F11 開啟 VBA 編輯器。
  2. 在左側專案總管中展開 Project1 → Microsoft Outlook Objects,雙擊 ThisOutlookSession。
  3. 在右側程式碼視窗貼上以下程式碼:
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

VBA 編輯器貼上程式碼示意圖

關鍵說明:

  • oMessage.To:填入收件人電子郵件地址,多位收件人以分號分隔。
  • oMessage.Subject:郵件標題,可依需求修改。
  • oMessage.Attachments.Add:指定附件完整路徑。請確保來源檔案每天都會在同一路徑被覆寫更新,巨集才會寄出最新版本。

完成後點擊工具列「儲存」圖示,關閉 VBA 編輯器與 Outlook。

第二步:建立 Windows 工作排程器任務

讓 Outlook 每天固定時間自動啟動,觸發巨集寄送郵件:

  1. 開啟「工作排程器」(開始 → 系統工具 → 工作排程器)。
  2. 右側點擊「建立基本工作」,名稱輸入「Outlook 自動寄送報表」。
  3. 觸發條件選「每天」,設定具體時間(例如 16:30 下班前)。
  4. 動作選「啟動程式」,程式路徑指向 OUTLOOK.EXE(通常在 C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE 或 Office15/16 等版本對應資料夾)。
  5. 完成精靈後,在工作排程器庫中找到該任務,右鍵「內容」→「條件」與「設定」頁簽,建議勾選「只有在網路可用時才啟動」與「如果工作失敗,每隔 1 分鐘重試,最多重試 3 次」。
  6. 在「一般」頁簽勾選「使用者未登入時也要執行」並輸入登入密碼(否則排程不會在背景執行)。

工作排程器設定觸發條件

工作排程器輸入帳號密碼

常見問題排除

  • 排程執行報錯:請確認「Task Scheduler」服務正在執行中(services.msc → Task Scheduler → 啟動類型設為「自動」並啟動)。
  • 巨集不執行:Outlook 信任中心 → 巨集設定 → 選擇「啟用所有巨集」或「僅啟用經數位簽章的巨集」(需自我簽章)。
  • 附件找不到:檢查路徑是否正確、網路磁碟機是否已對應、檔案是否被其他程式佔用無法讀取。

進階應用建議

  • 若需寄送多份附件,可在巨集中重複 oMessage.Attachments.Add 行。
  • 加入錯誤處理與寄送成功 Log 記錄(寫入文字檔或事件檢視器),方便事後稽核。
  • 若公司使用 Exchange/Office 365,亦可改用 Power Automate (Flow) 或 PowerShell 搭配 Graph API 實現雲端無代理自動化,更穩定不需保留桌面機開機。

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

Copyright © Windows教程網 All Rights Reserved