Макрос Outlook, чтобы прервать ответ все?

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

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

1 ответ

Решение

Примечание: я работаю над 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
Другие вопросы по тегам