Improve company productivity with a Business Account.Sign Up

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

transfer categories from outlook 2003 to 2007

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
MsElfin
Asked:
MsElfin
  • 2
1 Solution
 
David LeeCommented:
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
 
MsElfinAuthor Commented:
Hi BlueDevilFan

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

Thanks
0
 
David LeeCommented:
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
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

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

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