Jak v aplikaci Outlook odeslat více konceptů najednou?
Pokud je ve složce Koncepty více konceptů zpráv, nyní je chcete odeslat najednou, aniž byste je odesílali po jedné. Jak byste se mohli s touto prací vypořádat rychle a snadno v Outlooku?
Odesílejte všechny koncepty zpráv najednou v Outlooku s kódem VBA
Odesílejte všechny koncepty zpráv najednou v Outlooku s kódem VBA
Následující kódy VBA vám pomohou odeslat všechny nebo vybrané koncepty e-mailů ze složky Koncepty najednou, postupujte takto:
1. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.
2. Pak klikněte na tlačítko Vložit > Modul, zkopírujte a vložte pod kód do otevřeného prázdného modulu, viz screenshot:
Kód VBA: Odesílejte všechny koncepty e-mailů najednou v Outlooku:
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. Poté kód uložte a stiskněte F5 klíč ke spuštění tohoto kódu, zobrazí se okno s výzvou, které vám připomene, zda odeslat všechny koncepty, klepněte na Ano, viz screenshot:
4. Zobrazí se dialogové okno, které vám připomene, kolik konceptů e-mailů bylo odesláno, viz screenshot:
5. A pak klikněte na tlačítko OK tlačítko, všechny e-maily v dáma složka bude odeslána najednou, viz screenshot:
Poznámky:
1. Výše uvedený kód odešle všechny koncepty e-mailů ze všech účtů ve vašem Outlooku.
2. Pokud chcete pouze poslat nějaké konkrétní e-maily ze složky Koncepty, použijte následující kód VBA:
Kód VBA: Odeslání vybraných e-mailů ze složky Koncepty:
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
Související články:
Jak poslat e-mail více příjemcům jednotlivě v aplikaci Outlook?
Jak posílat osobní hromadné e-maily do seznamu z aplikace Excel pomocí aplikace Outlook?
Jak poslat kalendář více příjemcům jednotlivě v aplikaci Outlook?
Jak posílat e-maily více příjemcům, aniž by o tom věděli v aplikaci Outlook?
Kutools pro Outlook - přináší do aplikace Outlook 100 pokročilých funkcí a usnadňuje práci!
- Auto CC / BCC podle pravidel při odesílání e-mailů; Automatické předávání Více e-mailů podle zvyku; Automatická odpověď bez serveru Exchange a dalších automatických funkcí ...
- Varování BCC - zobrazit zprávu, když se pokusíte odpovědět všem pokud je vaše e-mailová adresa v seznamu BCC; Připomenout, když chybí přílohya další připomínající funkce ...
- Odpovědět (Vše) Se všemi přílohami v e-mailové konverzaci; Odpovězte na mnoho e-mailů během několika sekund; Automatické přidání pozdravu při odpovědi; Přidat datum do předmětu ...
- Nástroje pro přílohy: Spravujte všechny přílohy ve všech e-mailech, Automatické odpojení, Komprimovat vše, Přejmenovat vše, Uložit vše ... Rychlá zpráva, Počítat vybrané e-maily...
- Výkonné nevyžádané e-maily podle zvyku; Odeberte duplicitní e-maily a kontakty... Umožní vám dělat chytřejší, rychlejší a lepší v Outlooku.
















