Note: The other languages of the website are Google-translated. Back to English
Inloggen  \/ 
x
or
x
Registreer  \/ 
x

or

Hoe verstuur ik meerdere concepten tegelijk in Outlook?

Als er meerdere conceptberichten in uw map Concepten staan, en u wilt ze nu in één keer verzenden zonder ze een voor een te verzenden. Hoe kunt u deze klus snel en gemakkelijk afhandelen in Outlook?

Stuur alle conceptberichten tegelijk in Outlook met VBA-code


Stuur alle conceptberichten tegelijk in Outlook met VBA-code

De volgende VBA-codes kunnen u helpen om alle of geselecteerde concept-e-mails in één keer vanuit de map Concepten te verzenden, doe dit als volgt:

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Dan klikken Invoegen > Module, kopieer en plak onderstaande code in de geopende lege module, zie screenshot:

VBA-code: stuur alle concept-e-mails tegelijk in 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. Sla vervolgens de code op en druk op F5 toets om deze code uit te voeren, verschijnt er een promptvenster om u eraan te herinneren of alle concepten zijn verzonden, klik op Ja, zie screenshot:

4. En er verschijnt een dialoogvenster om u eraan te herinneren hoeveel concept-e-mails er zijn verzonden, zie screenshot:

5. En klik vervolgens op OK -knop, alle e-mails in de Concepten map wordt in één keer verzonden, zie screenshot:

Opmerkingen:

1. De bovenstaande code verzendt alle concept-e-mails van alle accounts in uw Outlook.

2. Als u alleen een aantal specifieke e-mails wilt verzenden vanuit de map Concepten, past u de volgende VBA-code toe:

VBA-code: stuur geselecteerde e-mails vanuit de map Concepten:

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

Gerelateerde artikelen:

Hoe stuur je een e-mail naar meerdere ontvangers afzonderlijk in Outlook?

Hoe stuur je gepersonaliseerde massa-e-mails naar een lijst vanuit Excel via Outlook?

Hoe stuur je een agenda naar meerdere ontvangers afzonderlijk in Outlook?

E-mail verzenden naar meerdere ontvangers zonder dat ze het weten in Outlook?


Kutools voor Outlook - Brengt 100 geavanceerde functies naar Outlook en maakt het werk veel gemakkelijker!

  • Auto CC / BCC volgens regels bij het verzenden van e-mail; Automatisch doorsturen Meerdere e-mails op maat; Auto antwoord zonder uitwisselingsserver, en meer automatische functies ...
  • BCC-waarschuwing - toon bericht wanneer u alle probeert te beantwoorden als uw e-mailadres in de BCC-lijst staat; Herinner bij ontbrekende bijlagen, en meer herinneren functies ...
  • Beantwoorden (alle) met alle bijlagen in het e-mailgesprek; Beantwoord veel e-mails in seconden; Begroeting automatisch toevoegen wanneer antwoord; Datum toevoegen aan onderwerp ...
  • Hulpmiddelen voor bijlagen: beheer alle bijlagen in alle e-mails, Automatisch loskoppelen, Alles comprimeren, Alles hernoemen, Alles opslaan ... Snel rapport, Tel geselecteerde e-mails...
  • Krachtige ongewenste e-mails op maat; Verwijder dubbele e-mails en contacten... Stel u in staat om slimmer, sneller en beter te doen in Outlook.
shot kutools outlook kutools tabblad 1180x121
shot kutools vooruitzichten kutools plus tabblad 1180x121
 
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    JamesWood · 8 months ago
    Hi guys. Thought I'd share. Here's my code for sending all drafts:

    Sub SendAllDrafts() 'By jamesmalcolmwood@gmail.com

    If MsgBox("Are you sure you want to send ALL the items in your drafts folder?", _
    vbQuestion + vbYesNo) <> vbYes Then Exit Sub

    Dim myNamespace As Outlook.NameSpace 'Change view to Inbox to avoid inline error
    Set myNamespace = Application.GetNamespace("MAPI") 'Change view to Inbox to avoid inline error
    Set Application.ActiveExplorer.CurrentFolder = _
    myNamespace.GetDefaultFolder(olFolderInbox) 'Change view to Inbox to avoid inline error

    Dim fldDraft As MAPIFolder, msg As Outlook.MailItem, intCount As Integer
    Set fldDraft = Outlook.GetNamespace("MAPI").GetDefaultFolder(olFolderDrafts) 'Sends all drafts in your main drafts folder. For a subfolder, add .Folders("folder name")
    intCount = 0
    Do While fldDraft.Items.count > 0
    Set msg = fldDraft.Items(1)
    msg.Send
    intCount = intCount + 1
    Loop
    If Not (msg Is Nothing) Then Set msg = Nothing
    Set fldDraft = Nothing
    MsgBox intCount & " messages sent", vbInformation + vbOKOnly

    End Sub
  • To post as a guest, your comment is unpublished.
    James · 8 months ago
    This code sends all drafts in a subfolder called Merge Tools (it asks you before sending). I'm sure you guys can edit it to suit your needs though. It's far simpler. Enjoy :)

    Sub SendAllMergeToolsDrafts()

    If MsgBox("Are you sure you want to send ALL the items in your Merge Tools drafts folder?", _
    vbQuestion + vbYesNo) <> vbYes Then Exit Sub

    Dim myNamespace As Outlook.NameSpace 'Change view to Inbox to avoid inline error
    Set myNamespace = Application.GetNamespace("MAPI") 'Change view to Inbox to avoid inline error
    Set Application.ActiveExplorer.CurrentFolder = _
    myNamespace.GetDefaultFolder(olFolderInbox) 'Change view to Inbox to avoid inline error

    Dim fldDraft As MAPIFolder, msg As Outlook.MailItem, intCount As Integer
    Set fldDraft = Outlook.GetNamespace("MAPI").GetDefaultFolder(olFolderDrafts).Folders("Merge Tools") 'Sends all drafts in the Merge Tools folder only
    intCount = 0
    Do While fldDraft.Items.count > 0
    Set msg = fldDraft.Items(1)
    msg.Send
    intCount = intCount + 1
    Loop
    If Not (msg Is Nothing) Then Set msg = Nothing
    Set fldDraft = Nothing
    MsgBox intCount & " messages sent", vbInformation + vbOKOnly

    End Sub
  • To post as a guest, your comment is unpublished.
    Julian · 1 years ago
    Hi, quick question maybe you have an Idea. We have an external application that saves all mails to the drafts folder. if i run the macro we have the problem, that only the first mail in the list is beeing sent correctly, all other mails are deferred because it adds quote marks ' ' to the mail adress.
    Is there a way to avoid this?
  • To post as a guest, your comment is unpublished.
    Lukas · 2 years ago
    Can you explain why the last mail (i = 1) is recreated in a new MailItem instead of just .Send?

    Thanks.
  • To post as a guest, your comment is unpublished.
    denbo · 2 years ago
    We used the script to send all draft emails at once for a batch of statement emails generated from sage 200. The emails in the sent items look fine but customers are are receiving them with the body text in Chinese! Any ideas what could be happening here?
  • To post as a guest, your comment is unpublished.
    Bill · 2 years ago
    Anybody get some emails sent to the deleted folder doing this?
    • To post as a guest, your comment is unpublished.
      Frank · 2 years ago
      Same problem: if you select 4 messages, after sending three of them ar in trash folder (because of the "xDraftsItems.Item(i).Delete" statement)
    • To post as a guest, your comment is unpublished.
      skyyang · 2 years ago
      Hi, Bill,
      Do you want to send multiple selected emails from deleted foder?
      Please give your problem more detailed, thank you!
      • To post as a guest, your comment is unpublished.
        Darewin · 8 months ago
        Hi skyyang, Im facing the same problem. I draft usually 15-20 emails and then use this code to send them all at once, but later realise that one of those emails do not get sent, rather they are sent to my 'Deleted' folder. Even the prompt says the correct number of emails for eg: '20 emails sent' but when I check, only 19 would have been sent, one I will find it lying in my deleted items folder. I want all the emails to be sent to their recipients without error. Can you please tell me why this happens. Please help.
        • To post as a guest, your comment is unpublished.
          skyyang · 8 months ago
          Hi, Darewin,
          We have updated the above codes, please try again, thank you!
  • To post as a guest, your comment is unpublished.
    Donnie · 2 years ago
    I have multiple exchange accounts. I want to have one of the accounts that isn't my default to be the sender. Where would I insert this in the code? Thanks!
  • To post as a guest, your comment is unpublished.
    Cathleen · 2 years ago
    Copied as per above but when I press F5 nothing happens
    • To post as a guest, your comment is unpublished.
      skyyang · 2 years ago
      Hi, Cathleen,
      The above code works fine in my Outlook, which Outlook version do you use?
  • To post as a guest, your comment is unpublished.
    Colin · 3 years ago
    Brilliant, worked a charm, thank you :)
    • To post as a guest, your comment is unpublished.
      Günther Haas · 5 months ago
      einfach nur perfekt. Herzlichen Dank