Outlook - accidental use of 'reply all'

We are trying to prevent people from inadvertent use of the 'reply all' option.

One alternative we thought of was having some code that will prompt the user if they choose 'Reply all' to ask them if they are sure and then would only show them non-internal e-mail addresses. Script should be trusted as well.

We have Outlook 2007 and 2010 and Exchange 2003 so if there is a way to do this without coding we would also like to know that - or any add-on package that would do this.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Bill PrewIT / Software Engineering ConsultantCommented:

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Patrick MatthewsCommented:

I implemented a mini-solution for myself to disable reply, reply all, and/or forward if I want to, on a per message basis.  You can download the materials from here:


1) Save the zip file to your desktop, and extract the files in it to your desktop
2) In Outlook, hit Alt+F11 to get to the VBA Editor
3) From the File menu, select Import File, and import frmReplyAllForwardSettings.frm
4) From the File menu, select Import File, and import modSetReplyAllForward.bas
5) Save the VBA project
6) Now, when composing a message, hit Alt+F8, and select SetReplyAllForward from the list of macros

Some caveats apply:

1) This will not apply to any recipients outside of your domain
2) This restriction works only in Outlook: users within your domain can still "reply all" or whatever from a mobile device.  (No idea what the impact is in OWA)
3) Your co-workers can still get around it if they know what they are doing.

Here is the code for that macro:

Sub SetReplyAllForward()
    Dim uf As frmReplyAllForwardSettings
    If ActiveInspector.CurrentItem.Class <> olMail Then
        MsgBox "You can only run the 'SetReplyAllForward' macro when you are reading" & vbCrLf & _
            "or composing an email message", vbCritical, "Aborting Macro"
        Exit Sub
    End If
    Set uf = New frmReplyAllForwardSettings
    With uf
        If Not .cmdCancel.Cancel Then
            ActiveInspector.CurrentItem.Actions("Forward").Enabled = .chkForward.Value
            ActiveInspector.CurrentItem.Actions("Reply to All").Enabled = .chkReplyAll.Value
            ActiveInspector.CurrentItem.Actions("Reply").Enabled = .chkReply.Value
            MsgBox "Operation canceled by user", vbInformation, "Aborting Macro"
        End If
    End With
    Set uf = Nothing
End Sub

Open in new window

lineonecorpAuthor Commented:
Great. Thanks for the quick replies. I will look through this to see applicability in my circumstances.
lineonecorpAuthor Commented:

I imported the two files and when I hit Alt+F8 to run the macro it prompts an error message:

Run-time error '91':

Object variable or With block variable not set

Is there an add-in I need to add with the code?

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VB Script

From novice to tech pro — start learning today.