Як надсилати кілька чернеток одночасно в Outlook?
Якщо у вашій папці "Чернетки" є кілька чернеток повідомлень, і зараз ви хочете надіслати їх одразу, не надсилаючи одне за одним. Як ви могли швидко і легко впоратися з цією роботою в Outlook?
Надсилайте всі чернетки повідомлень одночасно в Outlook за допомогою коду VBA
Надсилайте всі чернетки повідомлень одночасно в Outlook за допомогою коду VBA
Наступні коди VBA можуть допомогти вам одночасно надсилати всі або вибрані чернетки електронної пошти з папки "Чернетки". Будь ласка, зробіть так:
1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.
2. Потім натисніть Insert > Модулі, скопіюйте та вставте код нижче у відкритий порожній модуль, див. знімок екрана:
Код VBA: Надсилайте всі чернетки електронних листів одночасно в 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. Потім збережіть код і натисніть F5 клавішу для запуску цього коду, з'явиться вікно із запитом, щоб нагадати, якщо ви надсилаєте всі чернетки, натисніть Так, див. скріншот:
4. І відкриється діалогове вікно, щоб нагадати, скільки чернеток електронних листів було розіслано, див. Знімок екрана:
5. А потім клацніть OK кнопку, всі електронні листи в Шашки папка буде надіслана відразу, див. скріншот:
Примітки:
1. Наведений вище код надішле всі чернетки електронних листів з усіх облікових записів у Outlook.
2. Якщо ви просто хочете надіслати певні електронні листи з папки Чернетки, застосуйте такий код VBA:
Код VBA: Надіслати вибрані електронні листи з папки Чернетки:
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
Статті по темі:
Як надіслати електронне повідомлення кільком одержувачам окремо в Outlook?
Як надсилати персоналізовані електронні листи до списку з Excel через Outlook?
Як надіслати календар окремо кільком одержувачам в Outlook?
Як надіслати електронну пошту кільком одержувачам, не знаючи їх у програмі Outlook?
Найкращі інструменти продуктивності офісу
Kutools для Outlook - Понад 100 потужних функцій, які покращать ваш Outlook
???? Автоматизація електронної пошти: Поза офісом (доступно для POP та IMAP) / Розклад надсилання електронних листів / Автоматична копія/прихована копія за правилами під час надсилання електронної пошти / Автоматичне пересилання (розширені правила) / Автоматично додавати привітання / Автоматично розділяйте електронні листи кількох одержувачів на окремі повідомлення ...
📨 Управління електронною поштою: Легко відкликайте електронні листи / Блокуйте шахрайські електронні листи за темами та іншими / Видалити повторювані електронні листи / розширений пошук / Консолідація папок ...
📁 Вкладення Pro: Пакетне збереження / Пакетне від'єднання / Пакетний компрес / Автозавантаження / Автоматичне від'єднання / Автокомпресія ...
???? Магія інтерфейсу: 😊Більше красивих і класних смайликів / Підвищте продуктивність Outlook за допомогою вкладок / Згорніть Outlook замість того, щоб закривати ...
👍 Дива в один клік: Відповісти всім із вхідними вкладеннями / Антифішингові електронні листи / 🕘Показувати часовий пояс відправника ...
👩🏼🤝👩🏻 Контакти та календар: Пакетне додавання контактів із вибраних електронних листів / Розділіть групу контактів на окремі групи / Видаліть нагадування про день народження ...
більше Особливості 100 Чекайте на ваше дослідження! Натисніть тут, щоб дізнатися більше.