Взятие данных из Outlook
В предыдущей программе мы заполняли список динамически, считывая данные из файла. Переходя к инициализации списка авторов, отметим, что эта информация также способна динамически изменяться, но в отличие от серии книг, информация о писателях (по условиям задачи) хранится в Outlook, более того, условимся, что она хранится в отдельной папке Writers, являющейся подпапкой папки Contacts. Тогда процедура инициализации будет выглядеть следующим образом.
Программа 22.5. Инициализация данных из Outlook
Sub Init_Authors()
Объявление переменных
Dim nms As NameSpace
Dim fldContacts As MAPIFolder
Dim itms As Collection
Dim itm As Integer
Создание объекта, указывающего на данные Outlook
Set nms = Application.GetNamespace("MAPI") 'Создание объекта, указывающего на папку Контакты
Set fldContacts = nms.GetDefaultFolder(olFolderContacts) 'Присваеваем объекту значение подпапки Writers
Set fldContacts = fldContacts.Folders("Writers") 'создание объекта (семейство), содержащего все элементы папки Контакты
Set itms = fldContacts.items 'Организация цикла по всем контактам в папке
For itm = 1 То itms.Count
With itms(itm) 'Инициализация списка именами контактов
authors.Addltem .LastNameAndFirstName .End With
Next
authors.Listlndex = 0 End Sub
Итак, прежде всего, мы объявляем ряд переменных, после чего получаем ссылку на папку с контактами и организуем цикл по всем ее элементам. Как видите, все достаточно просто.
![]() |
![]() |
![]() |