Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1609
  • Last Modified:

How to block meeting requests

Our CEO doesn't want to recieve meeting requests.  Is there a way to block all requests.  I have created a rule that deletes them but they still show up on his calendar.
0
jwright77
Asked:
jwright77
  • 8
  • 5
1 Solution
 
MesthaCommented:
I don't think you can.
I certainly haven't seen any way.
The only thing I can think of is to use Delegates to send the requests to someone else, but those will still appear on the calendar as tentative until the delegate declines them.

Simon.
0
 
David LeeCommented:
Hi, jwright77.

I might be able to do it with a bit of scripting.  Is that an option?
0
 
jwright77Author Commented:
Sure.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
David LeeCommented:
Here is the code for doing this.  Follow these instructions to use it.  

1.  Start Outlook
2.  Click Tools > Macro > Visual Basic Editor
3.  If not already expanded, expand Microsoft Office Outlook Objects
4.  If not already expanded, expand Modules
5.  Select an existing module (e.g. Module1) by double-clicking on it or create a new module by right-clicking Modules and selecting Insert > Module.
6.  Copy the code from the Code Snippet box and paste it into the right-hand pane of Outlook's VB Editor window
7.  Edit the code as needed.  I included comments wherever something needs to or can change
8.  Click the diskette icon on the toolbar to save the changes
9.  Close the VB Editor
10. Create a rule using the "which is a meeting invitation or update" condition
11. Set the rule's condition to "run a script" and select this script as the one to run

In previous versions of Outlook rules only worked against messages.  Outlook 2007 introduces a new rule condition that extends rules to meeting requests.  Using that rule condition we could simply delete all incoming meeting requests.  Unfortunately, deleting a meeting request in this way leaves it on the calendar.  The solution is to use the rule condition to run a script and have the script decline the meeting and delete the request.  That prevents the meeting from ever appearing on the calendar.  This solution requires Outlook to be running to work.  If Outlook is not running, then the items will appear on the calendar until Outlook is started.  When it starts it will run rules against all items received since it was shut down.  The rule will then eliminate the appointments.  The only way to prevent a meeting request from ever making it to the calendar requires a server-side action, and there aren't any available.  

Sub IgnoreMeetingRequests(Item As Outlook.MeetingItem)
    Dim olkAppt As Outlook.AppointmentItem, olkResp As Outlook.MailItem
    Set olkAppt = Item.GetAssociatedAppointment(True)
    Set olkResp = olkAppt.Respond(olMeetingDeclined, True)
    olkResp.Send
    Item.Delete
    Set olkAppt = Nothing
    Set olkResp = Nothing
End Sub

Open in new window

0
 
jwright77Author Commented:
Thanks for the script.  But I'm getting an runtime error 13 Type mismatch error in line 4.
0
 
David LeeCommented:
On line 2 change

    olkResp As Outlook.MailItem


to

    olkResp As Object
0
 
jwright77Author Commented:
BlueDevilFan,

Thanks for your help.  But the code is not working.  It doesn't appear to do anything.  I attached the code as I have it below.

Thanks
Sub IgnoreMeetingRequests(Item As Outlook.MeetingItem)
    Dim olkAppt As Outlook.AppointmentItem, olkResp As Object
    Set olkAppt = Item.GetAssociatedAppointment(True)
    Set olkResp = olkAppt.Respond(olMeetingDeclined, True)
    olkResp.Send
    Item.Delete
    Set olkAppt = Nothing
    Set olkResp = Nothing
End Sub

Open in new window

0
 
David LeeCommented:
I tested the code before posting, so I know it works.  Did you follow all of the instructions I posted exactly?  Can you post a screen shot showing the rule you created for running this?
0
 
jwright77Author Commented:
Yes.  I followed your instructions to a T.  I attached the rule.  


Thanks
outlook-rule.doc
0
 
David LeeCommented:
Ok.  Replace the code with the version below and test again.  I added a command to display a popup message if the code fires.  The first step is to determine if the code is running at all.
Sub IgnoreMeetingRequests(Item As Outlook.MeetingItem)
    Dim olkAppt As Outlook.AppointmentItem, olkResp As Object
    MsgBox "IgnoreMeetingRequests Fired"
    Set olkAppt = Item.GetAssociatedAppointment(True)
    Set olkResp = olkAppt.Respond(olMeetingDeclined, True)
    olkResp.Send
    Item.Delete
    Set olkAppt = Nothing
    Set olkResp = Nothing
End Sub

Open in new window

0
 
jwright77Author Commented:
It does not fire.  I checked the security under Tools--macros--security and it is set to low.


Thanks
0
 
David LeeCommented:
This happens sometimes.  Add the code below to the ThisOutlookSession module.  Close and restart Outlook.  You should get a warning about macros and be asked if you want to enable them.  Say yes.  Try the original code again.
Private Sub Application_Startup()
    MsgBox "Macros enabled"
End Sub

Open in new window

0
 
David LeeCommented:
Sorry, but I have to object.  The solution I posted does work and does do exactly what the question author asked for.
0
 
David LeeCommented:
The solution is in this post
http:#a24403033
0

Featured Post

Granular recovery for Microsoft Exchange

With Veeam Explorer for Microsoft Exchange you can choose the Exchange Servers and restore points you’re interested in, and Veeam Explorer will present the contents of those mailbox stores for browsing, searching and exporting.

  • 8
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now