Как запросить, прежде чем ответить всем в Outlook

485
Martien Lubberink

Это должно быть очень просто, но это не так.

Я хочу, чтобы 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 

Другие решения не являются бесплатными.

Любая помощь?

0

1 ответ на вопрос

0
Martien Lubberink

Нашел его, и он включает проверку, чтобы предотвратить отправку в определенный список:

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