如何在 Outlook 中一次發送多封草稿郵件?
如果您的「草稿」資料夾中有許多草稿郵件,想一次全部發送,而不必逐一傳送,該如何在 Outlook 中快速又輕鬆地完成這項操作?
使用 VBA 程式碼在 Outlook 中一次發送所有草稿郵件
使用 VBA 程式碼在 Outlook 中一次發送所有草稿郵件
下列 VBA 程式碼可協助您一次從「草稿」資料夾發送所有或選定的草稿郵件,請依照以下步驟操作:
1. 按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗!
2. 接著點擊插入> 模組,並將下方程式碼複製貼上至開啟的空白模組中,如下圖所示:
VBA 程式碼:在 Outlook 中一次發送所有草稿郵件:
Sub SendAllDraftEmails()
Dim xAccount As Account
Dim xDraftFld As Folder
Dim xItemCount As Integer
Dim xCount As Integer
Dim xDraftsItems As Outlook.Items
Dim xPromptStr As String
Dim xYesOrNo As Integer
Dim i As Long
Dim xCurFld As Folder
Dim xTmpFld As Folder
On Error Resume Next
xItemCount = 0
xCount = 0
Set xTmpFld = Nothing
Set xCurFld = Application.ActiveExplorer.CurrentFolder
For Each xAccount In Outlook.Application.Session.Accounts
Set xDraftFld = xAccount.DeliveryStore.GetDefaultFolder(olFolderDrafts)
xItemCount = xItemCount + xDraftFld.Items.Count
If xDraftFld.EntryID = xCurFld.EntryID Then
Set xTmpFld = xCurFld.Parent
End If
Next xAccount
Set xDraftFld = Nothing
If xItemCount > 0 Then
xPromptStr = "Are you sure to send out all the drafts?"
xYesOrNo = MsgBox(xPromptStr, vbQuestion + vbYesNo, "Kutools for Outlook")
If xYesOrNo = vbYes Then
If Not xTmpFld Is Nothing Then
Set Application.ActiveExplorer.CurrentFolder = xTmpFld
End If
VBA.DoEvents
For Each xAccount In Outlook.Application.Session.Accounts
Set xDraftFld = xAccount.DeliveryStore.GetDefaultFolder(olFolderDrafts)
Set xDraftsItems = xDraftFld.Items
For i = xDraftsItems.Count To 1 Step -1
If xDraftsItems.Item(i).Recipients.Count <> 0 Then
xDraftsItems.Item(i).sEnd
xCount = xCount + 1
End If
Next
Next xAccount
VBA.DoEvents
Set Application.ActiveExplorer.CurrentFolder = xCurFld
MsgBox "Successfully sent " & xCount & " messages", vbInformation, "Kutools for Outlook"
End If
Else
MsgBox "No Drafts!", vbInformation + vbOKOnly, "Kutools for Outlook"
End If
End Sub

3. 接著儲存程式碼,並按下 F5 鍵執行此程式碼,此時將彈出提示方塊,詢問您是否要發送所有草稿,請點擊是,如下圖所示:

4. 在成功發送草稿郵件後,將彈出對話方塊,提醒您已成功發送多少封草稿郵件,如下圖所示:

5. 點擊確定按鈕後,「草稿」資料夾中的所有郵件將一次發送完畢,如下圖所示:

注意事項:
1. 上述程式碼會自動從您 Outlook 的所有帳戶中發送所有草稿郵件。
2. 若您只想從「草稿」資料夾中發送特定幾封郵件,請使用下列 VBA 程式碼:
VBA 程式碼:從「草稿」資料夾發送選定的郵件:
Sub SendSelectedDraftEmails()
Dim xSelection As Selection
Dim xPromptStr As String
Dim xYesOrNo As Integer
Dim i As Long
Dim xAccount As Account
Dim xCurFld As Folder
Dim xDraftsFld As Folder
Dim xTmpFld As Folder
Dim xArr() As String
Dim xCount As Integer
Dim xMail As MailItem
On Error Resume Next
xCount = 0
Set xTmpFld = Nothing
Set xCurFld = Application.ActiveExplorer.CurrentFolder
For Each xAccount In Outlook.Application.Session.Accounts
Set xDraftsFld = xAccount.DeliveryStore.GetDefaultFolder(olFolderDrafts)
If xDraftsFld.EntryID = xCurFld.EntryID Then
Set xTmpFld = xCurFld.Parent
End If
Next xAccount
If xTmpFld Is Nothing Then
MsgBox "The current folder is not a draft folder", vbInformation, "Kutools for Outlook"
Exit Sub
End If
Set xSelection = Outlook.Application.ActiveExplorer.Selection
If xSelection.Count > 0 Then
xPromptStr = "Are you sure to send out the selected " & xSelection.Count & " draft item(s)?"
xYesOrNo = MsgBox(xPromptStr, vbQuestion + vbYesNo, "Kutools for Outlook")
If xYesOrNo = vbYes Then
ReDim xArr(xSelection.Count - 1)
For i = 1 To xSelection.Count
xArr(i - 1) = xSelection.Item(i).EntryID
Next
Set Application.ActiveExplorer.CurrentFolder = xTmpFld
VBA.DoEvents
For i = 0 To UBound(xArr)
Set xMail = Application.Session.GetItemFromID(xArr(i))
If xMail.Recipients.Count <> 0 Then
xMail.sEnd
xCount = xCount + 1
End If
Next
VBA.DoEvents
Set Application.ActiveExplorer.CurrentFolder = xCurFld
MsgBox "Successfully sent " & xCount & " messages", vbInformation, "Kutools for Outlook"
End If
Else
MsgBox "No items selected!", vbInformation, "Kutools for Outlook"
End If
End Sub
Outlook 中的 AI 郵件助理:聰明回覆、清晰溝通,一鍵輕鬆搞定!
透過 Kutools for Outlook 的 AI 郵件助理,輕鬆簡化您每日的 Outlook 工作!這款強大工具能學習您過往的郵件內容,提供智慧又精準的回覆建議、優化郵件文字,並協助您毫不費力地起草與潤飾訊息。

此功能支援:
- 智慧回覆:根據您過往的對話,量身打造精準到位的回應,立即可用。
- 內容強化:自動優化您的郵件文字,提升清晰度與影響力。
- 輕鬆撰寫:只需提供關鍵字,其餘交給 AI 處理,並支援多種潤色風格。
- 智慧擴充:根據上下文提供貼心建議,延伸您的創意與想法。
- 摘要功能:立即獲取長篇郵件的簡明摘要。
- 全球溝通:輕鬆將郵件翻譯成任何語言。
此功能支援:
- 智慧郵件回覆
- 優化內容
- 關鍵字草稿
- 智慧內容擴充
- 郵件摘要
- 多語言翻譯
別再等待——立即下載 AI 郵件助理,盡情享受!
相關文章:
如何透過 Outlook,根據 Excel 名單寄送個人化的大量電子郵件?
如何在 Outlook 中寄送電子郵件給多位收件者,同時隱藏彼此的聯絡資訊?
最佳 Office 生產力工具
體驗全新 Kutools for Outlook,內含 100+ 項超強功能!立即點擊下載!
🤖KUTOOLS AI:運用先進 AI 技術,輕鬆處理電子郵件——無論是回覆、摘要、優化、擴充、翻譯還是撰寫郵件,通通一鍵搞定!
📧 郵件自動化:自動答覆(支援 POP 與 IMAP)/預約寄送郵件/寄信時依規則自動抄送密送/自動轉發(高級規則)/自動加入問候語/自動將多收件人郵件拆分為個別訊息……
📨 郵件管理:撤回郵件/依主旨等條件封鎖詐騙郵件/刪除重複郵件/高級搜尋/整合文件夾……
📁 附件專業版:批次儲存/批次解除附加/批次壓縮/自動保存/自動拆離/自動壓縮……
🌟 介面魔法:😊更多精美酷炫表情符號/重要郵件來到時提醒您/最小化 Outlook 而非關閉……
👍 一鍵奇蹟:帶附件全部答復/防釣魚郵件/🕘顯示發送者當前時間時區……
👩🏼🤝👩🏻 聯絡人與行事曆:從選取的郵件中批次新增聯絡人/將聯繫人組拆分為個別群組/移除生日提醒……
用您的慣用語言暢享 Kutools — 完整支援英文、西班牙文、德文、法文、中文等 40 多種語言!
立即一鍵解鎖 Kutools for Outlook!別再等待,馬上下載,全面提升工作效率!


🚀 一鍵下載 — 立即取得所有 Office 增益集
強烈推薦:Kutools for Office(5 合 1)
一鍵下載五個安裝程式,一次完成 — Kutools for Excel、Outlook、Word、PowerPoint 與 Office Tab Pro!立即點擊下載!
- ✅ 一鍵便利:只需一次操作,即可下載全部五個安裝套件!
- 🚀 隨時應對任何 Office 任務:按需安裝所需增益集,立即提升工作效率!
- 🧰 包含:Kutools for Excel/Kutools for Outlook/Kutools for Word/Office Tab Pro/Kutools for PowerPoint