Outlook で複数の下書きメールを一度に送信するには?
下書きフォルダーに複数の下書きメールがあり、今すぐ1 通ずつ送信せずに一括でまとめて送信したい場合、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.その後、OKボタンをクリックすると、下書きフォルダー内のすべてのメールが一度に送信されます(スクリーンショットを参照):

注記:
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 が複数の書式スタイルで残りの作業を自動処理します。
- インテリジェント拡張:文脈を的確に捉えた提案であなたのアイデアをさらに広げます。
- 要約機能:長いメールを瞬時に簡潔な概要にまとめてくれます。
- グローバル対応:メールをあらゆる言語に簡単に翻訳できます。
この機能は以下のサポートを提供します:
- スマートメール返信
- 最適化されたコンテンツ
- キーワードベースの下書き
- インテリジェントなコンテンツ拡張
- メール要約
- 多言語翻訳
関連記事:
Outlook で複数の受信者に個別にメールを送信するには?
Excel のリストを使って、Outlook 経由でパーソナライズされた一斉メールを送信するには?
Outlook で複数の受信者に個別にカレンダーを送信するには?
Outlook で複数の受信者に互いに知られずにメールを送信するには?
最高の Office 生産性ツール
まったく新しいKutools for Outlook を、100 以上の驚きの機能とともに体験しましょう!今すぐダウンロード!
🤖KUTOOLS AI:高度な AI 技術を活用して、メールの返信、要約、最適化、拡張、翻訳、作成など、あらゆる操作をラクラクこなします。
📧メール自動化:自動返信(POP および IMAP 対応)/メールのスケジュール送信/メール送信時にルールに基づいて自動 CC/BCC/自動転送(高度なルール)/自動で挨拶文を追加/複数の宛先を持つメールを個別のメッセージに自動分割...
📨メール管理:メールの取り消し/件名などを基準に詐欺メールをブロック/重複したメールを削除/高度な検索/フォルダーを整理...
📁添付ファイルプロ:一括保存/一括分離/一括圧縮/自動保存/自動的に切り離す/自動圧縮...
🌟インターフェースの魅力:😊さらに美しくクールな絵文字を多数収録/重要なメールが届いた際に通知/Outlook を閉じる代わりに最小化...
👍ワンクリックの驚き:全員に【Attachment】付きで返信/フィッシングメール対策/🕘送信者の現在時刻ゾーンを表示...
👩🏼🤝👩🏻連絡先とカレンダー:選択したメールから連絡先を追加を一括登録/連絡先グループを個別のグループに分割/誕生日のリマインダーを削除...
Kutools はお好みの言語でお使いいただけます!英語、スペイン語、ドイツ語、フランス語、中国語をはじめ、40 以上の言語をサポートしています!
ワンクリックでKutools for Outlook の機能を即解放!今すぐダウンロードして、効率を飛躍的にアップさせましょう!


🚀 ワンクリックダウンロード — Office アドインをすべて入手
強く推奨:Kutools for Office(5-in-1)
ワンクリックで5 つのインストーラーを 一括ダウンロード! ―Kutools for Excel、Outlook、Word、PowerPointおよびOffice Tab Pro。今すぐダウンロード!
- ✅ワンクリックで簡単操作:5 つのセットアップパッケージをたった1 回のクリックで一括ダウンロードできます。
- 🚀どんな Office 作業にも対応可能:必要なときに、必要なアドインをすぐインストールできます。
- 🧰含まれるもの:Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint