Problem copying User1 data to custom-defined field

P

Phyllis Blans

Hi all,

Very novice user here. After importing contacts from an Excel file into
Outlook 2003, I have mapped 1 item to User Field 1. I now need to copy
that value into a custom-defined field called "Specialty".

I started out with the code I got from here:
http://www.outlookcode.com/d/code/convertfields.htm and modified as
needed (modified code below).

PROBLEM
This is only working on the first record in the list. All subsequent
records remain blank.

CODE
Sub ConvertFields()
Dim objApp As Application
Dim objNS As NameSpace
Dim objFolder As MAPIFolder
Dim objItems As Items
Dim objItem As Object

Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objFolder = objNS.PickFolder
If Not objFolder Is Nothing Then
Set objItems = objFolder.Items
For Each objItem In objItems
If objItem.Class = olContact Then
objItem.UserProperties("Specialty") = objItem.User1
objItem.Save
End If
Next
End If

What am I missing? Thanks for any help you can provide.
Phyllis
 
S

Sue Mosher [MVP-Outlook]

The code you have assumes that all the items are using a custom form that has the Specialty property defined in it. Is that indeed the case? ALso have you checked the actual values in User1 to make sure they're non-blank?

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
P

Phyllis

Ah ... that's probably the problem. I don't have a custom form, I'm
just viewing the fields in a Phone List format (added those columns
into the view so that I can check the work). I did check that User
Field 1 includes the content. It's there ...

So, what would I need to adjust in my code to remove the reference to
the custom form?

Thanks for your help ... it shoudl be simple, but as I said, I'm really
novice with VBA.
Phyllis
 
S

Sue Mosher [MVP-Outlook]

You don't need a custom form.You can just add the property using the UserProperties.Add method:

Set newProp = theItem.UserProperties.Add("Specialty", olText)
newProp.Value = theItem.User1
theItem.Save

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top