Как отправить несколько черновиков одновременно в 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. Затем нажмите кнопку ОК, и все электронные письма в папке Черновики будут отправлены одновременно, см. скриншот:

Примечания:
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 запускает бесплатную версию!
Оцените совершенно новую бесплатную версию Kutools для Outlook с более чем70 потрясающими функциями — пользуйтесь ими НАВСЕГДА! Нажмите, чтобы скачать прямо сейчас!
📧 Автоматизация Email: Автоответчик (доступно для POP и IMAP) / Запланировать отправку писем / Авто Копия/Скрытая копия по правилу при отправке писем / Автоматическое перенаправление (Расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения ...
📨 Управление Email: Отозвать письмо / Блокировать мошеннические письма по теме и другим параметрам / Удалить дубликаты писем / Расширенный Поиск / Организовать папки ...
📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...
🌟 Магия интерфейса: 😊Больше красивых и крутых Эмодзи / Напоминание о важных письмах / Сворачивайте Outlook вместо закрытия ...
👍 Мгновенные действия: Ответить всем с вложениями / Антифишинговые Email / 🕘Показать часовой пояс отправителя ...
👩🏼🤝👩🏻 Контакты и Календарь: Пакетное добавление контактов из выбранных писем / Разделить группу контактов на отдельные группы / Удалить напоминание о дне рождения ...

