Hur skickar jag flera utkast samtidigt i Outlook?
Om det finns flera utkastmeddelanden i mappen Utkast och nu vill du skicka dem direkt utan att skicka en efter en. Hur kan du hantera det här jobbet snabbt och enkelt i Outlook?
Skicka alla utkastmeddelanden samtidigt i Outlook med VBA-kod
Skicka alla utkastmeddelanden samtidigt i Outlook med VBA-kod
Följande VBA-koder kan hjälpa dig att skicka alla eller valda utkast till e-post från mappen Utkast på en gång, gör så här:
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. Klicka sedan Insert > Modulerna, kopiera och klistra in koden nedan i den öppnade tomma modulen, se skärmdump:
VBA-kod: Skicka alla utkast till e-post på en gång i 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. Spara sedan koden och tryck på F5 för att köra den här koden, kommer en snabbruta att dyka upp för att påminna dig om att skicka alla utkast, klicka Ja, se skärmdump:
4. Och en dialogruta dyker upp för att påminna dig om hur många e-postutkast som har skickats ut, se skärmdump:
5. Och klicka sedan på OK -knappen, alla e-postmeddelanden i Utkast mappen skickas på en gång, se skärmdump:
Anmärkningar:
1. Ovanstående kod skickar alla utkast till e-post från alla konton i din Outlook.
2. Om du bara vill skicka specifika e-postmeddelanden från mappen Utkast, använd följande VBA-kod:
VBA-kod: Skicka valda e-postmeddelanden från mappen Utkast:
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
Relaterade artiklar:
Hur skickar du ett e-postmeddelande till flera mottagare individuellt i Outlook?
Hur skickar du personliga massmeddelanden till en lista från Excel via Outlook?
Hur skickar man en kalender till flera mottagare individuellt i Outlook?
Hur skickar du e-post till flera mottagare utan att de vet i Outlook?
Bästa kontorsproduktivitetsverktyg
Kutools för Outlook - Över 100 kraftfulla funktioner för att överladda din Outlook
🤖 AI Mail Assistant: Instant proffs-e-postmeddelanden med AI-magi – ett klick för geniala svar, perfekt ton, flerspråkig behärskning. Förvandla e-post utan ansträngning! ...
📧 Email Automation: Frånvaro (tillgänglig för POP och IMAP) / Schemalägg Skicka e-post / Auto CC/BCC enligt regler när du skickar e-post / Automatisk vidarebefordran (avancerade regler) / Lägg automatiskt till hälsning / Dela automatiskt e-postmeddelanden med flera mottagare i individuella meddelanden ...
📨 Email Management: Hämta enkelt e-postmeddelanden / Blockera bluff-e-postmeddelanden av ämnen och andra / Ta bort duplicerade e-postmeddelanden / Avancerad Sökning / Konsolidera mappar ...
📁 Bilagor Pro: Batch Spara / Batch lossa / Batchkomprimera / Automatisk sparning / Auto Lossa / Automatisk komprimering ...
🌟 Gränssnittsmagi: 😊 Fler vackra och coola emojis / Öka din Outlook-produktivitet med flikar / Minimera Outlook istället för att stänga ...
👍 Underverk med ett klick: Svara alla med inkommande bilagor / E-postmeddelanden mot nätfiske / 🕘Visa avsändarens tidszon ...
👩🏼🤝👩🏻 Kontakter och kalender: Lägg till kontakter i grupp från valda e-postmeddelanden / Dela upp en kontaktgrupp till individuella grupper / Ta bort påminnelser om födelsedag ...
Över 100 funktioner Vänta på din utforskning! Klicka här för att upptäcka mer.