Thanks for your help. However, when I tried it, I got an error message "Object reference not set to an instance of an object", which pointed to the UserProperties line, and commenting it out, the code works fine. The following is part of my code.
Dim objOutlook
As Outlook.Application
Dim objNamespace
As Outlook.NameSpace
Dim objContactFolder
As Outlook.MAPIFolder
Dim objContact
As Outlook.ContactItem
objOutlook = CreateObject("Outlook.Application"

objNamespace = objOutlook.GetNamespace("MAPI"

objContactFolder = objNamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)
Do Until datRead.Read = False
objContact = objOutlook.CreateItem(Outlook.OlItemType.olContactItem)
objContact.MessageClass = "IPM.Contact.MaM"
objContact.Title = datRead("Title"

objContact.LastName = datRead("Surname"

objContact.FirstName = datRead("FirstName"
objContact.UserProperties.Find("Salutation"

.Value = datRead("Salutation"
objContact.Save()
Loop
I also tried the line:
objOutlook =
New Outlook.Application()
instead of the line:
objOutlook = CreateObject("Outlook.Application"

but I got the same error message. This was also the result when I tried putting the
New in the declaration.
Can you see what I'm missing?