У меня список контактов в Outlook обновлен через другую программу. Я сам не касаюсь списка. Каждый раз, когда меняется контакт, я хочу обновить название компании через VBA.
Public WithEvents objNewContact As Items
Public Sub Initialize_handler()
Set objNewContact = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts).Items
End Sub
Public Sub objNewContact_ItemChange(ByVal Item As Object)
Item.CompanyName = "NewCompanyName"
MsgBox "Company name changed to " & Item.CompanyName
End Sub
Если я сам редактирую контакт через Outlook, он работает. При редактировании через другой источник, он показывает MsgBox, сообщающий мне, что название компании было изменено, но изменение не сохраняется.
Если я добавлю «Item.Save», это создаст бесконечный цикл.
Public Sub objNewContact_ItemChange(ByVal Item As Object)
Item.CompanyName = "NewCompanyName"
MsgBox "Company name changed to " & Item.CompanyName
Item.Save
End Sub