I haven't come across this particular problem, and you might get more info.
in an Outlook group, but...
> Is there a way to touch every contact record?
A user ought to be able to modify all of their own contacts with a bit of
Outlook (or Word) VBA. Depending on how many people you have to update, that
might or might not be a manageable solution. Again, you might be better off
asking how to do this in an Outlook group as they probably know more about
the pitfalls, but the following code worked in a simple case here where all
the contacts are in the default contacts folder (that isn't necessarily the
case). In order to force an update, it adds and removes a user-defined
property to/from every contact - in principle you ought to check for the
name of the user defined field before trying to add it. To use it from the
Word VBA editor you need to use Tools|References to add the Microsoft ??
Outlook Object Library, where 11 is your Outlook version.
Sub touch_all_contact_records()
Dim oOutlookApp As Outlook.Application
Dim oContactFolder As Outlook.MAPIFolder
Dim oContactItem As Outlook.ContactItem
Dim oUserProperty As UserProperty
Dim oONS As Outlook.NameSpace
' If you are running this from Outlook, use this...
'Set oOutlookApp = Application
' Otherwise, use this...
Set oOutlookApp = CreateObject("Outlook.Application")
Set oONS = oOutlookApp.GetNamespace("MAPI")
Set oContactFolder = oONS.GetDefaultFolder(olFolderContacts)
' Add all the contact items in the default contacts folder to the list
For Each oContactItem In oContactFolder.Items
If Left(oContactItem.MessageClass, 11) = "IPM.Contact" Then
Set oUserProperty =
oContactItem.UserProperties.Add(Name:="u432765874635", Type:=olText,
addtofolderfields:=False)
oContactItem.Save
oUserProperty.Delete
Set oUserProperty = Nothing
oContactItem.Save
oContactItem.Close olSave
End If
Next
Set oContactFolder = Nothing
Set oONS = Nothing
Set oOutlookApp = Nothing
End Sub
Peter Jamieson
> Greetings;
>
[quoted text clipped - 13 lines]
>
> William Arnold ~ Indianapolis, IN
William - 20 Jul 2005 17:14 GMT
Thanks, Peter Jamieson - I can do that :-)
Kindest Regards,
William Arnold ~ Indianapolis
>I haven't come across this particular problem, and you might get more info.
>in an Outlook group, but...
[quoted text clipped - 68 lines]
>>
>> William Arnold ~ Indianapolis, IN
William - 20 Jul 2005 20:13 GMT
Thanks to Peter Jamieson, et. al, I'm almost home! :-)
I've discovered my problem is that ExMerge didn't migrate a crucial contact
flag: "This is the mailing address"
So, My problem now becomes how to most efficiently set this flag, and, if I
can recover what it really was.
Can anyone tell me what oContactItem property this is?
FYI, I've got XP outlook clients running on an Exchange 2000 server..
Hopefully Yours,
William in Indianapolis
> Thanks, Peter Jamieson - I can do that :-)
>
[quoted text clipped - 75 lines]
>>>
>>> William Arnold ~ Indianapolis, IN
Peter Jamieson - 20 Jul 2005 22:53 GMT
You probably need
oContactItem.SelectedMailingAddress = olBusiness
or one of the other values in the enumeration. However, I don't know how you
can recover the correct values if they have been lost.
Peter Jamieson
> Thanks to Peter Jamieson, et. al, I'm almost home! :-)
>
[quoted text clipped - 91 lines]
>>>>
>>>> William Arnold ~ Indianapolis, IN