Solved

transfer categories from outlook 2003 to 2007

Posted on 2009-05-12
4
510 Views
Last Modified: 2013-11-29
I wonder if anyone can suggest a way of copying the categories from Outlook 2003 on one machine to Outlook 2007 on another.
Microsdoft have an article
http://support.microsoft.com/default.aspx?scid=kb;en-us;297405
which explains how to do it in 2003 to 2003 but that is all I can find.


0
Comment
Question by:MsElfin
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 76

Expert Comment

by:David Lee
ID: 24365818
Hi, MsElfin.

Outlook 2003 stores categories in the registry.  Outlook 2007 stores them in a hidden folder in Outlook.  There is no built in means of copying them from 2003 to 2007.  It is possible to do it if you are comfortable scripting in Outlook.
0
 

Author Comment

by:MsElfin
ID: 24484834
Hi BlueDevilFan

Thanks your message.  How does one access the hidden folder in Outlook 2007?  Then I can look at scripting.

Thanks
0
 
LVL 76

Accepted Solution

by:
David Lee earned 50 total points
ID: 24487754
You don't need to access the hidden folder directly.  Outlook 2007's object model includes everything you need to do it from code.  Here's an example of how to add categories in Outlook 2007.
Sub CompanyCategories()
    Const CATNAMES = "CatA,CatB"
    Const CATCOLORS = "2,3"
    Dim olkApp, olkSes, olkCats, olkCat, arrCats, varCat, arrColors, varColor, intIndex
    Set olkApp = CreateObject("Outlook.Application")
    Set olkSes = olkApp.GetNamespace("MAPI")
    olkSes.Logon "Outlook"
    Set olkCats = olkSes.Categories
    arrCats = Split(CATNAMES, ",")
    arrColors = Split(CATCOLORS, ",")
    For intIndex = LBound(arrCats) To UBound(arrCats)
        varCat = arrCats(intIndex)
        varColor = arrColors(intIndex)
        Set olkCat = olkCats.Item(varCat)
        If TypeName(olkCat) = "Nothing" Then
            Set olkCat = olkCats.Add(varCat, varColor)
        Else
            If olkCat.Color <> varColor Then
                olkCat.Color = varColor
            End If
        End If
    Next
    Set olkCat = Nothing
    Set olkCats = Nothing
    olkSes.Logoff
    Set olkSes = Nothing
    Set olkApp = Nothing
End Sub

Open in new window

0

Featured Post

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this step by step procedure, you will come to know the details of creating an Outlook meeting in 2007, 2010, 2013 & 2016.
How to resolve IMCEAEX NDRs in Exchange or Exchange Online related to invalid X500 addresses.
Many of my clients call in with monstrous Gmail overloading issues with Outlook. A quick tip is to turn off the All Mail and Important folders from synching. Here is a quick video I made to show you how to turn off these and other folders in Gmail s…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.

724 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