Is there a way to create a new category for a group of people on our domain with Outlook 2003?

I need to create a new category for a group of people with Outlook 2003 on a single domain.  Is there an easy way to do this?
jerjosAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
David LeeConnect With a Mentor Commented:
jerjos,

This VBScript will add one or more categories to the master category list on any computer.  Call it from a login script and it'll take of this for you.  Here's how to use it

1.  Open Notepad
2.  Copy the code below and paste it into Notepad
3.  Edit the code as desired.  At a minimum you'll need to add the name(s) of the category(ies) to add.
4.  Save the file with a .vbs extension
5.  Test the code to make sure it works properly
6.  Add the code to a login script or place it in a central location and send out a link to it

I placed comments in the code to help explain how it works.
Const HKEY_CURRENT_USER = &H80000001
'Enter a semicolon separated list of values.  The string must end with a semicolon.'
Const NEWCAT = "My New Cat;"
Dim objRegistry, strKeyPath, strValueName, strValue, strDecode, i, j, arrBinary, varReturn
Set objRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Office\11.0\Outlook\Categories"
strValueName = "MasterList"
'Retrieve the current master category list'
objRegistry.GetBinaryValue HKEY_CURRENT_USER, strKeyPath, strValueName, strValue
'Decode the unicode values'
i = 0
Do While i <= UBound(strValue)
    strDecode = strDecode & Chr(strValue(i))
    i = i + 2
Loop
'Insert the new value'
strDecode = strDecode & NEWCAT
strDecode = Replace(strDecode, Chr(0), "")
intLen = (2 * Len(strDecode)) + 1
'Create a new array of unicode values'
ReDim arrBinary(intLen)
i = 1
j = 0
Do While i <= Len(strDecode)
    arrBinary(j) = Asc(Mid(strDecode, i, 1))
    arrBinary(j + 1) = 0
    i = i + 1
    j = j + 2
Loop
arrBinary(intLen - 1) = 0
arrBinary(intLen) = 0
'Write the values back into the registry'
varReturn = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, strKeyPath, strValueName, arrBinary)

Open in new window

0
 
felnyCommented:
can you make this question a little more specific?
0
 
jerjosAuthor Commented:
I want to create a new contact called "Homefront" in all of the Outlook 2003 user's contacts.  Can I have this pushed out to all of them?
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

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

 
tigermattCommented:

You can't push changes to individual users' Outlook profiles centrally. You'd either need to mail the contact to them as an attachment, which they can then open and save themselves, or add it to the Exchange GAL, where all users will be able to access it.

-Matt
0
 
David LeeCommented:
Greetings.

"You can't push changes to individual users' Outlook profiles centrally."
Well, that depends on your environment, what permissions you have, and how creative you are.  I agree that Outlook/Exchange does not have a built-in means of doing this.  If you are in an Exchange environment and you are an Exchange admin, then you can do it with a little creative scripting.  I think I can do it with a bit of creative scripting even if you aren't an Exchange admin, but that code would have to be added to each user's computer.  Unless you're going to have the need to distribute contacts to all employees more than once, then the level of effort required to do this isn't worth it.  If this is a recurring requirement, then it's worth the time to develop a means of distributing them automatically.  I can help with putting a script together if you want to explore an automated approach.
0
 
jerjosAuthor Commented:
Sorry guys, what I meant to say was this; I want to create a new category called "Homefront" in all of the Outlook 2003 user's contacts.  Can I have this pushed out to all of them?
0
 
David LeeCommented:
You can add a category to everyone's copy of Outlook with a bit of scripting.  Is that what you have in mind or do you mean you want to add the category to their contacts (as in every contact gets this category added)?
0
 
jerjosAuthor Commented:
Yes, I would like to add a category to everyone's copy of Outlook.
0
 
jerjosAuthor Commented:
Thanks BlueDevilFan! I will give this a try.
0
 
David LeeCommented:
You're welcome.
0
 
jerjosAuthor Commented:
I haven't had a chance to try this, we have since made the decision to upgrade to office 2007.
0
 
David LeeCommented:
FWIW - Pushing a new category to all staff is slightly more complicated with 2007.  Microsoft moved the categories out of the registry and into a hidden folder in Outlook.  There are ways to get to them, but nothing so simple as writing to the registry from a login script.
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.

All Courses

From novice to tech pro — start learning today.