Автозаполнение адреса скрытой копии

Я хочу автоматически заполнять поле BCC определенным адресом в ответах, переадресациях и новых электронных письмах.

Я видел аналогичную функцию, которая работает «без звука» — то есть адрес BCC добавляется после нажатия кнопки «Отправить».

Я хочу иметь возможность удалить/изменить адрес, если это необходимо.

С точки зрения пользователя: нажмите «Ответить/переслать/Новое электронное письмо», и откроется окно сообщения с заполненным полем BCC.

Мои знания VBA несколько ограничены, поэтому я был бы признателен, если бы вы могли конкретно указать, где разместить код.


person Hobbes    schedule 04.02.2018    source источник


Ответы (1)


Этот код, помещенный в модуль ThisOutlookSession, будет срабатывать при нажатии кнопки «Новое электронное письмо» и при ответе на электронное письмо. Оттуда легко вставить все, что вам нужно, в различные поля. Вам нужно перезапустить Outlook или вручную вызвать Application_Startup(), чтобы он активировался в первый раз.

Option Explicit

Public WithEvents myInspectors As Outlook.Inspectors
Public WithEvents myExplorer As Outlook.Explorer

Private Sub Application_Startup()
  Set myInspectors = Application.Inspectors
  Set myExplorer = Application.ActiveExplorer
End Sub

Private Sub myInspectors_NewInspector(ByVal Inspector As Inspector)
  If TypeName(Inspector.CurrentItem) = "MailItem" Then
    'MsgBox "new mail"
    Inspector.CurrentItem.BCC = "[email protected]"
  End If
End Sub

Private Sub myExplorer_InlineResponse(ByVal Item As Object)
    'MsgBox "reply"
    Item.BCC = "[email protected]"
End Sub
person Community    schedule 04.02.2018
comment
Чтобы позаботиться о встроенных ответах, вы также можете обработать событие Explorer.InlineResponse. - person Dmitry Streblechenko; 04.02.2018
comment
Отредактировал мой ответ соответственно - person ; 06.02.2018
comment
Имейте в виду, что Application.ActiveExplorer может иметь значение null при запуске. - person Dmitry Streblechenko; 06.02.2018
comment
У вас может быть 0 (например, при запуске) или более 1 проводника (если вы щелкните правой кнопкой мыши папку и выберите «Открыть в новом окне»). Обработка нескольких проводников более болезненна (вам нужно будет вести список открытых проводников и очищать его, когда проводник закрывается), но в простейшем случае, когда вы получаете 0 проводников, вам нужно подключить событие Explorers.NewExplorer и установить создать обработчик событий для события Explorer.InlineResponse. - person Dmitry Streblechenko; 06.02.2018