Improve company productivity with a Business Account.Sign Up

x
?
Solved

Outlook 2003 macro not working in 2007 out of office

Posted on 2009-04-09
3
Medium Priority
?
453 Views
Last Modified: 2012-06-21
I have a series of macros that I use to set different messages in the Out Of Office assistant.  They have worked fine in 2003, but now, the CreateObject("MAPI.Session") is not liked.  I cannot find the 2007 equivalent of this statement.
    Dim Text1, Text2, Text3, TextComma As String
 
    TextComma = ", "
    Text1 = "Thanks for your e-mail! "
    Text2 = "My hours are 7:30 - 4:00 and I am gone for the rest of today, "
    Text3 = ".  I will return your e-mail in the morning. "
 
    Set oSession = CreateObject("MAPI.Session")
    oSession.Logon "", "", False, False
  
    'Set the body text.
    oSession.OutOfOfficeText = Text1 & Chr$(13) & Chr$(13) & Text2 & WeekdayName(Weekday(Date)) & TextComma & Date & Text3
 
    'Turning on Out of Office
    oSession.OutOfOffice = True

Open in new window

0
Comment
Question by:pmpatane
  • 2
3 Comments
 
LVL 76

Accepted Solution

by:
David Lee earned 1000 total points
ID: 24109480
Hi, pmpatane.

Outlook 2007 doesn't use CDO (e.g. MAPI.Session).  Microsoft added the ability to manage properties directly from the Outlook object model without the need for another component (CDO).  Here's a macro that sets the out of office text and turns it on.
Sub OutOfOffice()
    Const PR_OOF_STATE = "http://schemas.microsoft.com/mapi/proptag/0x661D000B"
    Dim olkIS As Outlook.Store, _
        olkPA As Outlook.PropertyAccessor, _
        olkOOFMessage As Outlook.StorageItem
    For Each olkIS In Session.Stores
        If olkIS.ExchangeStoreType = olPrimaryExchangeMailbox Then
            Set olkPA = olkIS.PropertyAccessor
            olkPA.SetProperty PR_OOF_STATE, True
            Set olkOOFMessage = Outlook.Session.GetDefaultFolder(olFolderInbox).GetStorage("IPM.Note.Rules.OofTemplate.Microsoft", olIdentifyByMessageClass)
            olkOOFMessage.Body = Text1 & Chr$(13) & Chr$(13) & Text2 & WeekdayName(Weekday(Date)) & TextComma & Date & Text3
            olkOOFMessage.Save
            Exit For
        End If
    Next
    Set olkIS = Nothing
    Set olkPA = Nothing
    Set olkOOFMessage = Nothing
End Sub

Open in new window

0
 

Author Closing Comment

by:pmpatane
ID: 31568696
That worked flawlessly, but wow, a whole lot more overhead is necessary.  You want to recommend any good books for Outlook 2007 VBA.  My old skills aren't going to be up to snuff.  (Even though my 2003 macros for Send with Read Receipt and adding Voting buttons still work)
0
 
LVL 76

Expert Comment

by:David Lee
ID: 24111305
The best book I know of is "Microsoft Outlook 2007 Programming" by Sue Mosher (ISBN: 978-1-55558-346-0).  She also runs the site http://www.outlookcode.com
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Organisation is organized in a pattern to flow the day to day business, every application and system is interdepended on each other and when very important “Exchange Server downtime” happened.
How to import Outlook calendar to MS Exchange Server. A Calendar stores user appointments, meetings details to manage work. Moving Outlook Calendar to a new or already existing Exchange Server become complex process if Admin needs to import Calendar…
Watch the video to learn how one can deal with PST file corruption issue with an outstanding Kernel for Outlook PST Repair Tool easily. Using this tool, non-technical users can swiftly perform the repair process to restore their essential data witho…
Watch the software video of Kernel Import PST to Office 365 tools which can easily import PST and OST files to Office 365 for bulk mailboxes. The process of migration is simple and user can map source and destination mailboxes and easily import data…

588 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question