Как отправить несколько черновиков одновременно в Outlook?
Если в папке «Черновики» находится несколько сообщений и вы хотите отправить их все сразу, не отправляя по одному, как это можно сделать быстро и легко в Outlook?
Отправка всех черновиков одновременно в Outlook с помощью кода VBA
Отправка всех черновиков одновременно в Outlook с помощью кода VBA
Следующие коды VBA позволят вам отправить все или выбранные черновики из папки «Черновики» одновременно. Выполните следующие действия:
1. Удерживая клавиши ALT + F11, откройте окно Microsoft Visual Basic for Applications.
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
AI Mail Assistant в Outlook: умнее ответы, яснее общение (волшебство одним щелчком!)
Оптимизируйте повседневные задачи в Outlook с помощью AI Mail Assistant от Kutools для Outlook — мощного инструмента, который анализирует ваши прошлые письма, чтобы предлагать умные и точные ответы, улучшать содержание сообщений и помогать легко создавать и редактировать тексты.

Эта функция поддерживает:
- Умные ответы: получайте персонализированные, точные и готовые к отправке ответы, созданные на основе вашей прошлой переписки.
- Улучшенное содержание: автоматически повышайте ясность и выразительность текста письма.
- Легкое составление: просто укажите ключевые слова, а ИИ сделает всё остальное — с несколькими стилями письма на выбор.
- Интеллектуальные расширения: развивайте свои идеи с помощью контекстно-зависимых предложений.
- Суммаризация: мгновенно получайте краткие обзоры длинных писем.
- Глобальный охват: легко переводите свои письма на любой язык.
Эта функция поддерживает:
- Умные ответы на письма
- Оптимизированное содержание
- Черновики по ключевым словам
- Интеллектуальное расширение содержания
- Суммаризация писем
- Многоязыковой перевод
Не ждите —скачайте AI Mail Assistant прямо сейчас и наслаждайтесь!
Связанные статьи:
Как отправить электронное письмо нескольким получателям индивидуально в Outlook?
Как отправить персонализированные массовые письма из Excel-списка получателей через Outlook?
Как отправить календарь нескольким получателям по отдельности в Outlook?
Как отправить письмо нескольким получателям в Outlook так, чтобы они не знали друг о друге?
Лучшие инструменты для повышения продуктивности в Office
Оцените совершенно новый Kutools для Outlook с 100+ потрясающими функциями!Нажмите, чтобы скачать прямо сейчас!
📧Автоматизация работы с электронной почтой: Автоответ (доступен для POP и IMAP) / Планирование отправки писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения…
📨Управление электронной почтой: Отозвать письмо / Блокировка спама по теме и другим признакам / Удаление дубликатов писем / Расширенный поиск / Организация папок…
📁Продвинутая работа с вложениями: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие…
🌟Волшебство интерфейса: 😊Еще больше красивых и стильных эмодзи / Напоминание о важных входящих письмах / Сворачивание Outlook вместо закрытия…
👍Чудеса одним щелчком: Ответить всем с вложениями / Защита от фишинговых писем / 🕘Отображение часового пояса: текущее время отправителя…
👩🏼🤝👩🏻Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделение группы контактов на отдельные группы / Удаление напоминания о дне рождения…
Используйте Kutools на вашем любимом языке — поддержка английского, испанского, немецкого, французского, китайского и более чем 40 других языков!


🚀 Скачать одним щелчком — Получите все надстройки для Office
Настоятельно рекомендуется: Kutools for Office (5 в 1)
Скачайте одним щелчком пять установщиковсразу —Kutools для Excel, Outlook, Word, PowerPointи Office Tab Pro.Нажмите, чтобы скачать прямо сейчас!
- ✅Удобство одним щелчком: Скачайте все пять установочных пакетов за одно действие.
- 🚀Готовы к любой задаче в Office: устанавливайте нужные надстройки именно тогда, когда они вам понадобятся.
- 🧰Входит в комплект: Kutools для Excel / Kutools для Outlook / Kutools для Word / Office Tab Pro / Kutools for PowerPoint