Как запросить, прежде чем ответить всем в Outlook
Это должно быть очень просто, но это не так.
Я хочу, чтобы Outlook запрашивал меня перед отправкой ответа всем.
Существует надстройка под названием NoReply для всех, но для этого по-прежнему требуется, чтобы пользователь активировал запрет на все ответы для каждого сеанса, что в основном не соответствует его цели.
Приведенный ниже код работает, но применяется ко всем ответам, и я хочу применить его только к ответам всем.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If MsgBox("Do you want to continue sending the mail?", vbOKCancel) <> vbOK Then
Cancel = True
End If
End Sub
Пример Microsoft должен работать, но это не так:
Public WithEvents myItem As MailItem
Sub Initialize_Handler()
Set myItem = Application.ActiveInspector.CurrentItem
End Sub
Private Sub myItem_ReplyAll(ByVal Response As Object, Cancel As Boolean)
Dim mymsg As String
Dim myResult As Integer
mymsg = "Do you really want to reply to all original recipients?"
myResult = MsgBox(mymsg, vbYesNo, "Flame Protector")
If myResult = vbNo Then
Cancel = True
End If
End Sub
Другие решения не являются бесплатными.
Любая помощь?
1 ответ
Нашел его, и он включает проверку, чтобы предотвратить отправку в определенный список:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim str As String
Dim j As Integer
Dim splits() As String
Dim lbadFound As Boolean
lbadFound = False
Set Recipients = Item.Recipients
receivers = Recipients.count
For i = receivers To 1 Step -1
Set recip = Recipients.Item(i)
If InStr(1, LCase(recip), "lists.bla.com") >= 1 Then
lbadFound = True
End If
Next i
splits = Split(Item.To, ";")
If receivers > 1 Or lbadFound Or UBound(splits) > 0 Then
If MsgBox("Do you want to continue sending the mail?", vbOKCancel) <> vbOK Then
Cancel = True
End If
End If
End Sub