The ability to quickly and easily forward an Outlook meeting
to another recipient is an essential feature. Maybe you can’t make it and you
need to send a delegate. Maybe you identify from the invite that bringing along
a colleague who’s a subject matter expert would be beneficial. There are
probably many other scenarios.
As a meeting organizer though, it’s possible that you don’t
want people to be able to forward your meetings. Perhaps the location you have
booked is of a limited size. Perhaps the meeting content is sensitive and
discussion restricted to a particular group. There are probably many other
scenarios for wanting to keep tight control over the recipient list too.
Well, good news! I’ve recently discovered this is possible,
and with just a few lines of VBA you can create meetings that have the
“forward” button disabled. If a recipient wants to extend the invite to someone
else, they have to come back to you and ask that you do it for them.
It’s worth pointing out right at the top that this technique
only works in the Microsoft Outlook desktop client. You have to be using it,
and so do the meeting recipients. If your recipients also have their
email/calendar available to them on another client (including mobile devices
and webmail) then
they can use the other client to
forward the meeting.
It’s also worth pointing out that full credit for this goes
to user GranEYb
on Microsoft’s TechNet
forums. I have merely tidied up his/her instructions, and turned them into
a quick screencast. The instructions are for Outlook 2013. I know the code also
works in Outlook 2010. I haven’t tested it with other versions. YMMV.
Screencast
Instructions
First, enable developer tools in Outlook:
- Open Outlook 2013
- Click File
-> Options -> Customize Ribbon - In the right-hand pane, place a checkmark next
to the Developer group and click OK
Open Visual Basic for Applications and write the code:
- Navigate to the Developer tab on the ribbon, and
select Visual Basic - In the Visual Basic for Applications window,
click Insert -> Module - Copy the code from below, and choose File -> Save, or click the Save
icon - Close the Visual Basic for Applications window
The code:
Sub DisableForwarding() ActiveInspector.CurrentItem.Actions("Forward").Enabled = False MsgBox "Forwarding of this item has been disabled" End Sub Sub EnableForwarding() ActiveInspector.CurrentItem.Actions("Forward").Enabled = True MsgBox "Forwarding of this item has been enabled" End Sub
Create the
buttons in Outlook:
- Open
Outlook calendar - Click
New Appointment - Click
File -> Options -> Customize
Ribbon - In
the right-hand pane, select the Appointment tab and click New Group - Select
the New Group (Custom) item and click Rename - In
the Display Name box, enter Forward
Control. Click OK - In
the left-hand pane, select the Choose Commands From: dropdown and select Macros - Select
Project1.DisableForwarding and click the Add
>> button between the panes - Select
Project1.EnableForwarding and click the Add
>> button between the panes - In
the right-hand pane, select Project1.DisableFowarding and click Rename - In
the Display Name box, enter Disable
Forwarding. Click OK - In
the right-hand pane, select Project1.EnableForwarding and click Rename - In
the Display Name box, enter Enable
Forwarding. Click OK - Click
OK at the bottom of the Outlook
Options window
All done!
If you wish, you can now hide the developer tab that we enabled with the first
three steps.
To use the
tool, create a new meeting invite as you normally would, but before hitting the
send button hit the Disable Forwarding button first. Recipients of your invite
will find that the Forward button is disabled.
Meetings do
not have forwarding disabled by default, but if you need to re-enable
forwarding for any reason then the Enable Forwarding button is your friend.
Enjoy!