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が残りを処理します。
- インテリジェント拡張:文脈を理解した提案で考えを広げます。
- 要約:長文のメールを瞬時に簡潔にまとめます。
- グローバル対応:メールを簡単にどの言語にも翻訳できます。
この機能がサポートする内容:
- スマートメール返信
- 最適化されたコンテンツ
- キーワードベースの下書き
- インテリジェントなコンテンツ拡張
- メールの要約
- 多言語翻訳
何より、この機能は永遠に完全無料です!今すぐAIメールアシスタントをダウンロードしてお楽しみください!
関連記事:
Outlookで複数の受信者に個別にメールを送信するにはどうすればよいですか?
Excel経由でOutlookを使ってリストにパーソナライズされた大量のメールを送信するにはどうすればよいですか?
Outlookで複数の受信者に個別にカレンダーを送信するにはどうすればよいですか?
Outlookで複数の受信者に他の人に知られずにメールを送信するにはどうすればよいですか?
最高のオフィス生産性ツール
速報: Kutools for Outlook が無料版をリリース!
新しい Kutools for Outlook の無料版を体験してください。70以上の素晴らしい機能が永遠に使えます!今すぐダウンロードをクリック!
🤖 Kutools AI : 高度なAI技術を使用して、メールの返信、要約、最適化、拡張、翻訳、作成を簡単に行います。
📧 メール自動化: 自動返信 (POPとIMAPで利用可能) / メール送信のスケジュール / メール送信時にルールによる自動 CC/BCC / 自動転送 (高度なルール) / 自動挨拶追加 / 複数の宛先を持つメールを個別のメールに自動的に分割...
📨 メール管理: メールの取り消し / 件名やその他によるスパムメールのブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理...
📁 添付ファイルプロ: バッチ保存 / バッチ切り離し / バッチ圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮...
🌟 インターフェースマジック: 😊より美しくクールな絵文字 /重要なメールが来たときに通知 / クローズ中ではなくOutlookを最小化...
👍 ワンクリックの驚き: 全員に【Attachment】付きで返信 / フィッシング対策メール / 🕘送信者のタイムゾーンを表示...
👩🏼🤝👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加 /連絡先グループを個別のグループに分割 / 誕生日のリマインダーを削除...
Kutools for Outlook をワンクリックで即座にアンロック。待たずに今すぐダウンロードして効率を高めましょう!

