Outlookで一度に複数の下書きを送信するにはどうすればよいですか?
下書きフォルダに複数の下書きメッセージがあり、今はXNUMXつずつ送信せずに一度に送信したい場合。 Outlookでこのジョブをすばやく簡単に処理するにはどうすればよいですか?
OutlookでVBAコードを使用してすべてのドラフトメッセージを一度に送信する
OutlookでVBAコードを使用してすべてのドラフトメッセージを一度に送信する
次のVBAコードは、下書きフォルダからすべてまたは選択した下書きメールを一度に送信するのに役立ちます。次のようにしてください。
1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。
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. Draftsフォルダーから特定の電子メールを送信するだけの場合は、次の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で複数の受信者に個別に電子メールを送信する方法は?
Outlookを介してExcelからリストにパーソナライズされた大量の電子メールを送信する方法は?
Outlookで複数の受信者に個別にカレンダーを送信する方法は?
Outlookで知らないうちに複数の受信者に電子メールを送信するにはどうすればよいですか?
最高のオフィス生産性向上ツール
Kutools for Outlook - Outlook を強化する 100 以上の強力な機能
🤖 AIメールアシスタント: AI の魔法を備えたインスタント プロのメール - ワンクリックで天才的な返信、完璧な口調、多言語の習得。メールを簡単に変革しましょう! ...
📧 自動メール: 不在時 (POP および IMAP で利用可能) / メール送信のスケジュール設定 / メール送信時のルールによる自動CC/BCC / 自動転送 (高度なルール) / あいさつを自動追加 / 複数受信者の電子メールを個別のメッセージに自動的に分割する ...
📨 電子メール管理: メールを簡単に思い出す / 件名などで詐欺メールをブロック / 重複するメールを削除する / 高度な検索 / フォルダーを統合する ...
📁 アタッチメント プロ: バッチ保存 / バッチデタッチ / バッチ圧縮 / 自動保存 / 自動デタッチ / 自動圧縮 ...
🌟 インターフェースマジック: 😊もっと可愛くてクールな絵文字 / タブ付きビューで Outlook の生産性を向上 / Outlook を閉じる代わりに最小化する ...
???? ワンクリックの驚異: 受信した添付ファイルをすべてに返信する / フィッシングメール対策 / 🕘送信者のタイムゾーンを表示 ...
👩🏼🤝👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加 / 連絡先グループを個別のグループに分割する / 誕生日のリマインダーを削除する ...
オーバー 100の特長 あなたの探索をお待ちしています! ここをクリックして詳細をご覧ください。