Jak wysłać wiele wersji roboczych jednocześnie w Outlooku?
Jeśli w folderze Robocze jest wiele wiadomości roboczych, a teraz chcesz wysłać je od razu, bez wysyłania pojedynczo. Jak możesz szybko i łatwo poradzić sobie z tą pracą w Outlooku?
Wysyłaj wszystkie wersje robocze wiadomości naraz w Outlooku za pomocą kodu VBA
Wysyłaj wszystkie wersje robocze wiadomości naraz w Outlooku za pomocą kodu VBA
Poniższe kody VBA mogą pomóc w wysłaniu wszystkich lub wybranych roboczych wiadomości e-mail z folderu Wersje robocze na raz, wykonaj następujące czynności:
1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
2. Następnie kliknij wstawka > Moduł, skopiuj i wklej poniższy kod do otwartego pustego modułu, zobacz zrzut ekranu:
Kod VBA: wyślij wszystkie robocze wiadomości e-mail naraz w programie 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. Następnie zapisz kod i naciśnij F5 Aby uruchomić ten kod, pojawi się okienko z przypomnieniem, czy wyślesz wszystkie wersje robocze, kliknij Takzobacz zrzut ekranu:
4. Pojawi się okno dialogowe przypominające o liczbie wysłanych roboczych wiadomości e-mail, zobacz zrzut ekranu:
5. A następnie kliknij OK przycisk, wszystkie e-maile w Warcaby folder zostanie wysłany od razu, patrz zrzut ekranu:
Uwagi:
1. Powyższy kod wyśle wszystkie robocze wiadomości e-mail ze wszystkich kont w Twoim Outlooku.
2. Jeśli chcesz tylko wysłać określone wiadomości e-mail z folderu Wersje robocze, zastosuj następujący kod VBA:
Kod VBA: wyślij wybrane wiadomości e-mail z folderu Wersje robocze:
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
Podobne artykuły:
Jak wysłać wiadomość e-mail do wielu odbiorców indywidualnie w programie Outlook?
Jak wysłać kalendarz do wielu odbiorców indywidualnie w programie Outlook?
Jak wysłać wiadomość e-mail do wielu odbiorców bez ich wiedzy w programie Outlook?
Kutools dla programu Outlook - wprowadza 100 zaawansowanych funkcji do programu Outlook i znacznie ułatwia pracę!
- Auto CC / BCC według zasad podczas wysyłania wiadomości e-mail; Auto Forward Wiele e-maili na zamówienie; Automatyczna odpowiedź bez serwera Exchange i więcej funkcji automatycznych ...
- Ostrzeżenie BCC - pokaż wiadomość, gdy spróbujesz odpowiedzieć wszystkim jeśli Twój adres e-mail znajduje się na liście BCC; Przypomnij o braku załącznikówi więcej funkcji przypominających ...
- Odpowiedz (wszystkie) ze wszystkimi załącznikami w rozmowie pocztowej; Odpowiedz na wiele e-maili w sekundy; Automatyczne dodawanie powitania kiedy odpowiedz; Dodaj datę do tematu ...
- Narzędzia załączników: Zarządzaj wszystkimi załącznikami we wszystkich wiadomościach e-mail, Automatyczne odłączanie, Kompresuj wszystko, Zmień nazwę wszystkiego, Zapisz wszystko ... Szybki raport, Policz wybrane wiadomości...
- Potężne wiadomości-śmieci na zamówienie; Usuń zduplikowane wiadomości e-mail i kontakty... Umożliwiają inteligentniejsze, szybsze i lepsze działanie w programie Outlook.
















