Это мой самый первый пост, и я не специалист по программированию, как скоро станет очевидно. Пожалуйста, будьте осторожны.
Я создал программу (с использованием Visual Basi c 2010 express), которая, среди прочего, заполнила бы текстовое поле "Заметками" / "Тело" контакта, которого я выберите на основе значения "CustomerID" каждого контакта в Outlook.
Он отлично работает для стандартной "Контакты" и ее подпапки "Contacts-SubCategory" в группе Outlook "Мои контакты", показанной здесь: введите описание изображения здесь , используя следующий код (код включает элементы календаря / встреч, я думаю, что я могу адаптировать синтаксическое решение для контактов, чтобы их можно было игнорировать, я надеюсь):
Public Class CustomOutlookInterface2
Private SQL As New DatabaseControl
Private ol As New Outlook.Application
Private olns As Outlook.NameSpace = ol.GetNamespace("MAPI")
Private olContactFolder As Outlook.MAPIFolder = olns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts).Folders("Contacts-SubCategory")
Private olCalendarFolder As Outlook.MAPIFolder = olns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar)
Private olContactItems As Outlook.Items = olContactFolder.Items
Private NewContact As Outlook.ContactItem
Private AppointmentItem As Outlook.AppointmentItem
Однако Недавно я загрузил «iCloud для Windows», чтобы все синхронизировалось, и заметил, что он добавил новую группу в Outlook под названием «iCloud» и переместил записи контактов во вновь созданные «Контакты в iCloud» и «Контакты-подкатегория в iCloud» ( показано на том же рисунке выше). Я предпринял множество попыток адаптировать предыдущий рабочий код для направления его в папку iCloud. Самое близкое, что я получил, это ...
Private ol As New Outlook.Application
Private olns As Outlook.NameSpace = ol.GetNamespace("MAPI")
Private olContactFolder As Outlook.MAPIFolder = olns.Folders.Item("iCloud")
Вышеуказанное не вызывает ошибки. Но это также приводит к тому, что «строка не найдена», когда я использую следующее
Dim query As String = "[CustomerID]='" & CustID & "'"
NewContact = olContactItems.Find(query)
, где «запрос» - это номер, назначенный контакту и сохраненный в поле «Идентификатор клиента»
Основываясь на плоских пятнах на лбу от удара головой о стол, я думаю, что все сводится к синтаксису идентификации группы iCloud, затем к папке «Контакты в iCloud», а затем к подпапке «Контакты-подкатегория в iCloud». В windows эквивалентном пути "iCloud \ Contacts в iCloud \ Contacts-SubCategory в iCloud \
Я не могу сказать вам, насколько я буду благодарен за любую помощь. Мой стол угрожает вызвать полицию для всех головные удары, которые я дал.