Макрос 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