c9: (System report)
[personal profile] c9
Note: this is just being posted for me in case I need it and for those poor long-suffering google searchers who can't find this solution easily as it's pretty well-hidden!

The problem: make an event in Outlook (single event or recurring), and invite people to it. Later, your synchronization app like Google Calendar Sync syncs everything up like it always does. However, the next time you want to modify that meeting (like add another person, or cancel it) you can't, because Outlook no longer believes you're the owner!

Note: THE FIXES BELOW ARE NOT MY CODE. DON'T ASK ME HOW TO CHANGE IT PLEASE. I don't know VBA. This is just to help you get a head start if you need it, and for my own reference.



The fix for non-recurring meetings:

Instructions for VBScript Code:
1) Open Outlook
Some versions require you to make a Developer Tab visible, just look up using and creating macros in your version of Outlook
2) Open Visual Basic Alt-F11 (or select it from a menu- Outlook 2010 you will find Visual Basic as a selection in the Developer Tab)
3) In the editor expand "Project1" and "Microsoft Outlook Objects" and select "ThisOutlookSession"
4) Paste the VBScript code between the lines below into the main window:
----------------------------
Public Sub CalendarItem()
'Below is just creating variables and declaring their types
Dim objOL As Outlook.Application
Dim objMsg As Outlook.AppointmentItem
Dim objSelection As Outlook.Selection
    'Below sets the objects to Outlook and whatever items you have selected
    Set objOL = CreateObject("Outlook.Application")
    Set objSelection = objOL.ActiveExplorer.Selection
    'Below the For Each statement is going through each item you have selected in case you selected more than one calendar item
    For Each objMsg In objSelection
        'Below is showing you a message box and saving your response in a variable named "answer"
        answer = MsgBox("Are you the Organizer of " & objMsg.Subject & "?", vbYesNoCancel)
        'Below is going through the three possible answers from the question above 
       Select Case answer
            Case vbYes
                objMsg.MeetingStatus = olMeeting 'This sets the MeetingStatus to olMeeting which is equal to 1
            Case vbNo
                objMsg.MeetingStatus = olMeetingReceived 'This sets the MeetingStatus to olMeetingReceived which is equal to 3
            Case vbCancel
        End Select
        objMsg.Save 'This saves your change to the meeting item
    Next
'This clears the variables so you do not mess up anything else by leaving values in the variables.
Set objMsg = Nothing
Set objSelection = Nothing
Set objOL = Nothing
End Sub
----------------------------
5) Hit the save button and close the Visual Basic applications
6) Select the Meeting Item you need to fix, if it is a RECURRING MEETING you need to double click and open the series.
7) Select Macro from the menu (varies depending on your version of Outlook)
8) Select the CalendarItem Macro and click Run
9) The message box will pop up and ask you if you are the organizer, hit yes and Voila!
The logic is commented on the script above so you can follow what it is doing.  Basically it looks like Google Calendar Sync was screwing with this variable for some reason.  Easy enough to fix if you know how, the solution is to change a 3 to a 1.  I wonder why the folks at Google have not fixed their software from changing the 1 to a 3, that does not seem like it could be that difficult to fix.

The fix for recurring meetings:

This is the macro applicable for the recurring meeting ONLY, it will change the series. Same instructions as above, just use this code instead.
Public Sub CalendarRecurringItem()
'Below is just creating variables and declaring their types
Dim objOL As Outlook.Application
Dim objMsg As Outlook.AppointmentItem
Dim objSelection As Outlook.Selection
    'Below sets the objects to Outlook and whatever items you have selected
    Set objOL = CreateObject("Outlook.Application")
    Set objSelection = objOL.ActiveExplorer.Selection
    'Below the For Each statement is going through each item you have selected in case you selected more than one calendar item
    For Each objMsg In objSelection
        'Below is showing you a message box and saving your response in a variable named "answer"
        answer = MsgBox("Are you the Organizer of " & objMsg.Subject & "?", vbYesNoCancel)
        'Below is going through the three possible answers from the question above
       Select Case answer
            Case vbYes
                objMsg.Parent.MeetingStatus = olMeeting 'This sets the MeetingStatus to olMeeting which is equal to 1
                objMsg.MeetingStatus = olMeeting 'This sets the MeetingStatus to olMeeting which is equal to 1
            Case vbNo
                objMsg.Parent.MeetingStatus = olMeetingReceived 'This sets the MeetingStatus to olMeetingReceived which is equal to 3
                objMsg.MeetingStatus = olMeetingReceived 'This sets the MeetingStatus to olMeetingReceived which is equal to 3
            Case vbCancel
        End Select
        objMsg.Save 'This saves your change to the meeting item
    Next
'This clears the variables so you do not mess up anything else by leaving values in the variables.
Set objMsg = Nothing
Set objSelection = Nothing
Set objOL = Nothing
End Sub


Alternate solution for recurring meetings someone had to use:

This is still happening in outlook 2010 also.  The code from ZippyMoe didn't see to work for me to correct a Series Appointment.  I implemented a different version that I run from a new button on the "Appointment Series" window.  The code is very simple.
Public CurrentItem As Object
Public Sub FixCalendarItem()
    CurrentItem.MeetingStatus = olMeeting
End Sub
Private Sub Application_ItemLoad(ByVal Item As Object)
    Set CurrentItem = Item
End Sub


Notes below are some other helpful posts I found which may help you. Rather than having to sift through the source page with its hundreds of posts (link).
Type Mismatch Error?
Hi all, I was having a type mismatch error on both macros defined here.  If you receive this error, you have problems with late-binding and you need to change:
Dim objMsg As Outlook.AppointmentItem
----TO----
Dim objMsg As Object
This will fix the issue and allow the macros to function as normal.
Thanks.
Different actions to make it work?
The macro didn't work for me on recurring meetings, however:
I found that when I double clicked on the meeting in the "Day/Week/Month" view and selected the series the macro would not work
When I double clicked the appointment using "Active Appointments" view, all recurring appointments were updated.


Pictures from community networks

Date: 2016-11-18 10:33 am (UTC)
From: (Anonymous)
Free pictures
naked women erotic online novels erotic french erotic questions miss erotic
http://bisexuals.erolove.in/?makena
free pone xxx best erotic films erotic dressing erotic quotes erotic slideshow

August 2015

S M T W T F S
      1
234 5678
9101112131415
16171819202122
23242526272829
3031     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 23rd, 2017 12:42 am
Powered by Dreamwidth Studios