Поделиться через


Программное изменение формата отображения для всех контактов

В Outlook можно указать параметр по умолчанию для отправки новых контактов с помощью параметров Контактов, а также при создании нового контакта. Например, по умолчанию используется значение Last, First, при котором контакт будет указан по фамилии, за которой следует имя. Однако изменение этого параметра применяется только к новым контактам, которые вы создаете. Для уже существующих контактов, если вы хотите изменить способ подачи их имен, например, изменив значение по умолчанию Last, First to First, Last, вам потребуется выполнить это отдельно для каждого существующего контакта в инспекторе или написать макрос, чтобы изменить параметр для всех существующих контактов в папке Контакты.

В этом разделе показан пример кода, который проходит через все элементы Contact в папке Контактов по умолчанию и использует свойство FileAs каждого элемента Contact для указания строки для отправки контакта. В этом примере строка меняется на имя, за которым следует пустое, а затем фамилия. Затем в примере кода сохраняются изменения в элементе Contact.

Примечание Как правило, папка в Outlook может содержать разнородные элементы, а папка Contact — объекты ContactItem , а также другие элементы. Пример кода гарантирует, что он изменяет только формат файла как для элементов contact путем фильтрации по классу сообщений IPM. Контакт. Дополнительные сведения о типах элементов и классах сообщений см. в разделе Типы элементов и классы сообщений.

Private Sub ReFileContacts() 
 Dim items As items, item As ContactItem, folder As folder 
 Dim contactItems As Outlook.items 
 Dim itemContact As Outlook.ContactItem 
 
 Set folder = Session.GetDefaultFolder(olFolderContacts) 
 Set items = folder.items 
 Count = items.Count 
 If Count = 0 Then 
 MsgBox "Nothing to do!" 
 Exit Sub 
 End If 
 
 'Filter on the message class to obtain only contact items in the folder 
 Set contactItems = items.Restrict("[MessageClass]='IPM.Contact'") 
 
 For Each itemContact In contactItems 
 itemContact.FileAs = itemContact.FirstName + " " + itemContact.LastName 
 itemContact.Save 
 Next 
 
 MsgBox "Your contacts have been re-filed." 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.