Многие пользователи просят решение, позволяющее им пакетно отвечать на несколько выбранных писем с одинаковым содержимым в Outlook. Хотя Outlook не предоставляет такой функции, вы все равно можете реализовать ее с помощью фрагмента кода VBA.
Я слышал большое количество пользователей, жалующихся на то, что в Outlook нет функции, поддерживающей отправку одного и того же ответа на несколько электронных писем за один раз. Когда они выбирают несколько электронных писем, действия «Ответить» и «Ответить всем» становятся серыми и отключаются. Рассматривая эту проблему, в дальнейшем мы поделимся методом реализации этой функции.

Пакетный ответ на несколько писем с одинаковым содержимым
- Для начала запустите программу Outlook.
- Затем вам нужно создать шаблон ответа, который вы хотите использовать для ответа на несколько электронных писем.
- Прежде всего, создайте новую электронную почту.
- Затем составьте это письмо на основе того, что вы хотите ответить.
- Далее нажмите «Файл» и выберите «Сохранить как».
- Позже в новом диалоговом окне «Сохранить как» введите имя и выберите «Шаблон Outlook» в поле «Сохранить как тип».
- Наконец, нажмите кнопку «ОК».
- Далее вы можете закрыть письмо без сохранения изменений.
- Затем следует нажать клавиши «Alt + F11».
- После этого появится окно редактора Outlook VBA.
- Теперь вам нужно найти и открыть проект ThisOutlookSession и скопировать в него следующий код VBA.
Sub Application_ItemContextMenuDisplay(ByVal CommandBar As Office.CommandBar, ByVal Selection As Selection)
Dim objCommandBarButton As Office.CommandBarButton
If (Selection.count > 1) And (Selection.Item(1).Class = olMail) Then
Set objCommandBarButton = CommandBar.Controls.Add(msoControlButton)
'Add a "Same Reply" option to the context menu
With objCommandBarButton
.Style = msoButtonIconAndCaption
.Caption = "Same Reply"
.FaceId = 355
.OnAction = "Project1.ThisOutlookSession.SendSameReply"
End With
End If
End Sub
Sub SendSameReply()
Dim strTemplate As String
Dim objTemplateReply As Outlook.MailItem
Dim strHTMLBody As String
Dim objSelection As Outlook.Selection
Dim i As Long
Dim objReply As Outlook.MailItem
'Input the name of the previously saved template
strTemplate = InputBox("Enter the name of template message:", , "Template Reply")
Set objTemplateReply = Application.CreateItemFromTemplate("C:\Users\Test\Documents\UserTemplates\" & strTemplate & ".oft")
strHTMLBody = objTemplateReply.HTMLBody
Set objSelection = Application.ActiveExplorer.Selection
For i = objSelection.count To 1 Step -1
Set objReply = objSelection(i).Reply
With objReply
.HTMLBody = strHTMLBody & objReply.HTMLBody
.Send
End With
Next
End Sub
- Наконец, вы можете закрыть текущее окно и попробовать этот макрос.
- Во-первых, выберите несколько писем в списке рассылки.
- Затем щелкните по ним правой кнопкой мыши.
- Затем выберите и нажмите «Тот же ответ» в контекстном меню.
- Затем вам будет необходимо указать шаблон, используемый для ответа.
- После ввода имени и нажатия «ОК» на эти выбранные электронные письма будет отправлен тот же ответ.
Outlook подвержен коррупции
Как обычный пользователь Outlook, я сталкивался с множеством ошибок. Поэтому я принял различные меры для защиты своих данных Outlook. Однако из-за того, что Outlook подвержен повреждениям, а сбой трудно предсказать, мне приходится все время быть наготове. Например, чтобы как можно скорее спасти свои данные, я держал под рукой замечательный инструмент восстановления — DataNumen Outlook Repair, Это в состоянии исправить Outlook файл без суеты.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая sql-повреждение и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com



