4

Можно ли создать макрос outlook таким образом, чтобы, когда пользователь нажимал "Ответить всем", появлялось сообщение, напоминающее что-то вроде «Ваше сообщение будет отправлено следующим получателям: x, y, z. Уверены ли вы? Д / Н». Ключевой вопрос здесь заключается в том, есть ли вообще доступный крючок для прерывания действия.

Обратите внимание, что я не собираюсь отключать его или покупать надстройку.

1 ответ1

4

Примечание: я работаю над 2007, но я думаю, что код должен быть в порядке.

Вы можете добавить обработчик событий через VBA, чтобы забрать событие ReplyAll . Что-то вроде следующего:

Dim WithEvents insp As Outlook.Inspectors
Dim WithEvents mailItem As Outlook.MailItem

' This is called on Outlook startup
Private Sub Application_Startup()
    Set insp = Application.Inspectors
End Sub

' This is called when a new Inspector is created. You use it to pick up on a new mail item event
Private Sub insp_NewInspector(ByVal Inspector As Inspector)
    If Inspector.CurrentItem.Size = 0 And Inspector.CurrentItem.Class = olMail Then
       Set mailItem = Inspector.CurrentItem
    End If
End Sub

' Called when you press ReplyAll
Private Sub mailItem_ReplyAll(ByVal Response As Object, Cancel As Boolean)
    Dim msg As String
    Dim result As Integer
    msg = "Do you really want to reply to all?"
    result = MsgBox(msg, vbYesNo, "Reply All Check")
    If result = vbNo Then
        Cancel = True
    End If
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .