Как отправить сразу несколько черновиков в Outlook?
Если в вашей папке «Черновики» есть несколько черновиков сообщений, и теперь вы хотите отправить их сразу, не отправляя одно за другим. Как можно быстро и легко справиться с этой работой в Outlook?
Отправлять все черновики сообщений сразу в Outlook с кодом VBA
Отправлять все черновики сообщений сразу в Outlook с кодом VBA
Следующие коды VBA могут помочь вам отправить все или выбранные черновики писем из папки «Черновики» сразу. Сделайте следующее:
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Затем нажмите Вставить > Модули, скопируйте и вставьте приведенный ниже код в открытый пустой модуль, см. снимок экрана:
Код 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 for Outlook - Более 100 мощных функций для улучшения вашего Outlook
🤖 Почтовый помощник с искусственным интеллектом: Мгновенные профессиональные электронные письма с помощью магии искусственного интеллекта: гениальные ответы одним щелчком мыши, идеальный тон, многоязычное владение. Преобразуйте электронную почту без особых усилий! ...
???? Автоматизация электронной почты: Нет на месте (доступно для POP и IMAP) / Расписание отправки писем / Автоматическое копирование/скрытая копия по правилам при отправке электронной почты / Автопересылка (расширенные правила) / Автоматическое добавление приветствия / Автоматически разделять электронные письма от нескольких получателей на отдельные сообщения ...
📨 Управление электронной почтой: Легко вспоминать электронные письма / Блокировка мошеннических писем от субъектов и других лиц / Удалить повторяющиеся электронные письма / Поиск / Объединение папок ...
📁 Вложения Pro: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Авто отсоединение / Автоматическое сжатие ...
???? Магия интерфейса: 😊Больше красивых и крутых смайлов / Повысьте производительность Outlook с помощью представлений с вкладками / Свернуть Outlook вместо закрытия ...
???? Чудеса в один клик: Ответить всем с входящими вложениями / Антифишинговые письма / 🕘Показать часовой пояс отправителя ...
👩🏼🤝👩🏻 Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделить группу контактов на отдельные группы / Удалить напоминания о днях рождения ...
Более Особенности 100 Ждем вашего исследования! Нажмите здесь, чтобы узнать больше.