Como enviar vários rascunhos de uma vez no Outlook?
Se houver vários rascunhos de mensagens em sua pasta Rascunhos, e agora você deseja enviá-los de uma vez, sem enviar um por um. Como você poderia lidar com esse trabalho de forma rápida e fácil no Outlook?
Envie todas as mensagens de rascunho de uma vez no Outlook com código VBA
Envie todas as mensagens de rascunho de uma vez no Outlook com código VBA
Os seguintes códigos VBA podem ajudá-lo a enviar todos os e-mails de rascunho ou alguns selecionados da pasta Rascunhos de uma só vez, faça o seguinte:
1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
2. Então clique inserção > Módulo, copie e cole o código abaixo no módulo em branco aberto, veja a captura de tela:
Código VBA: envie todos os rascunhos de e-mails de uma vez no 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. Em seguida, salve o código e pressione F5 para executar este código, uma caixa de prompt aparecerá para lembrá-lo se enviar todos os rascunhos, clique Sim, veja a captura de tela:
4. E uma caixa de diálogo aparecerá para lembrá-lo de quantos rascunhos de e-mails foram enviados, veja a captura de tela:
5. E, em seguida, clique em OK botão, todos os e-mails no Esboços pasta será enviada de uma vez, veja a imagem:
notas:
1. O código acima enviará todos os rascunhos de e-mails de todas as contas em seu Outlook.
2. Se você deseja apenas enviar alguns e-mails específicos da pasta Rascunhos, aplique o seguinte código VBA:
Código VBA: Envie e-mails selecionados da pasta Rascunhos:
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
Artigos relacionados:
Como enviar um e-mail para vários destinatários individualmente no Outlook?
Como enviar emails em massa personalizados para uma lista do Excel via Outlook?
Como enviar um calendário para vários destinatários individualmente no Outlook?
Como enviar e-mail para vários destinatários sem que eles saibam no Outlook?
Melhores ferramentas de produtividade de escritório
Kutools for Outlook - Mais de 100 recursos poderosos para turbinar seu Outlook
📧 Automação de e-mail: Fora do escritório (disponível para POP e IMAP) / Agendar envio de e-mails / CC/BCC automático por regras ao enviar e-mail / Encaminhamento automático (regras avançadas) / Adicionar saudação automaticamente / Divida automaticamente e-mails de vários destinatários em mensagens individuais ...
📨 Gestão de E-mail: Lembre-se facilmente de e-mails / Bloquear e-mails fraudulentos por assuntos e outros / Apagar Emails Duplicados / Pesquisa Avançada / Consolidar pastas ...
📁 Anexos Pró: Salvar em lote / Desanexar lote / Comprimir em Lote / Salvamento automático / Desanexação Automática / Compressão automática ...
???? Interface Mágica: 😊Mais emojis bonitos e legais / Aumente a produtividade do seu Outlook com visualizações com guias / Minimize o Outlook em vez de fechar ...
???? Maravilhas com um clique: Responder a todos com anexos recebidos / E-mails antiphishing / 🕘Mostrar fuso horário do remetente ...
👩🏼🤝👩🏻 Contatos e calendário: Adicionar contatos em lote de e-mails selecionados / Dividir um grupo de contatos em grupos individuais / Remover lembretes de aniversário ...
Sobre Características 100 Aguarde sua exploração! Clique aqui para descobrir mais.














