|
Программирование >> Проектирование интерфейса пользователя
Необходимо установить файл анимации acs, который не навливается по умолчанию вместе с Accesss. уста- Строка 2 листинга .1 содержит объявление константы с наименованием файла Помощника Office, в строке 3 определяется переменная Outlook типа Object, которой далее присваивается экземпляр Outlook. Подобный стиль создания объектов носит название динамического связывания - объект ассоциируется с переменной в процессе выполнения программы. Альтернативный способ - статическое связывание - предполагает предварительное объявление переменной заведомо известного типа. Чтобы получить возможность статического связывания объектов Outlook, в диалоговом окне References необходимо установить флажок Microsoft Outlook 10.0 Object Library. В случае статического связывания строка 4 листинга 1 должны быть заменены следующим выражением: Dim Outlook As New Outlook. Application Способ динамического связывания более гибок - он позволяет присваивать переменной типа Object объект любого класса. При статическом связывании методы и свойства объектов класса доступны уже на этапе проектирования программы. Поскольку в этом случае тип заранее известен, редактор Visual Basic по мере набора текста открывает контекстные меню, в которых находятся, в атрибуты интересующего вас класса. Строка 5 содержит инструкцию задания имени файла Помощника, далее фигурка последнего изображается на экране, а команда строки 7 заставляет Помощника выйти на бис . Использование объекта NameSpace Сейчас вы уже знаете, как создать экземпляр Outlook. Доступ к ранее созданному объекту можно получить, воспользовавшись функцией Getobject.) Далее необходимо освоить способы построения объектов, представляющих сообщения электронной почты, задачи, сведения о контактах и данные календаря. К сожалению, в объектной модели подобные возможности явно не предусмотрены. Все объекты Outlook, располагающие информацией о размещении данных, подчинены абстрактному корневому объекту NameSpace. Для доступа ко всем разновидностям данных Outlook необходимо использовать вызов ( возвращающий объект класса NameSpace. Обладая объектом NameSpace, вы сможете добраться до источников данных (скажем, информации о контактах) с помощью коллекции Folders. Листинг 24.2 демонстрирует пример построения объекта NameSpace. Листинг 24.2. Пример построения объекта NameSpace 1: Su meSpace ( ) - 2 : Dim N As NameSpace 3: Set N = GetNameSpace( 4: End Sub MAPI ) В строках 1-4 листинга 24.2 переменная класса NameSpace объявляется, Il а затем инициализируется соответствующим объектом MAPI (Mail API). Допускается существование только одного объекта NameSpace MAPl в пределах текущего сеанса Access. Наименование функции и факт использования в ней текстового аргумента дают основание предположить, что в будущем Microsoft, вероятно, предоставит средства создания объектов NameSpace и других разновидностей. Планируя обратиться к данным Outlook, используйте конструкцию вызова, приведенную выше. Построив объект NameSpace, вы получаете возможность обращения к данным Outlook с помощью коллекции Folders. Об этом - далее. Использование коллекции Folders В составе объекта NameSpace MAPI содержится коллекция Folders объектов класса Каждый элемент списка папок, отображаемого в окне приложе- ния Microsoft Outloolf (рис. 24.1), представляется отдельным объектом MAPlFolder. Чтобы получить доступ к содержимому любой из папок, необходимо обратиться к соответствующему объекту коллекции. Табл. 24.1 приводит список предопределеннгх констант, обозначающих различные объекты MAPlFolder. Outl<ltir ОтяраитыЬолуакп. ils-HaS : Ш puioak вагодмя .................................1 r:B[Eii]i£№*<<*!>!!D ф Задачи ф Контакты Отгравяе ые g Упшмтые (2) <$i Черкоанка (1) Другие 4iw4 . Рис. 24. Прикладная программа способна получить доступ к содержимому стандартных папок Outlook Таблица пр1деленные константы для обозначения объектов MAPlFolder Константа Название лапки и описание объекта olfolderCalendar olFolderContacts Календарь; коллекция items содержит объекты Appointmentitem Контакты; коллекция items содержит объекты Contactitem olFolderDeletedltem Удаленные; коллекция items содержит объекты Mailltem olFolderDrafts olFolderInbox olFolderJournal Черновики; коллекция items содержит объекты Mailltem Входящие; коллекция Items содержит объекты Mailltem Дневник; коллекция items содержит объекты Journalitem
olFolderSentMail olFolderTasks Отправленные; коллекция items содержит объекты Mailitem Задачи; коллекция items содержит объекты Taskltem Подробности, касающиеся объектов MAPlFolder каждого из указанных в таблице видов, вы сможете найти в оперативной справочной системе Outlook. Объект MAPlFolder содержит коллекцию ltems. Вы уже знаете, что такое коллекции и как с ним тать. Тип элементов коллекции (см. табл. 24.1) зависит от разновидности объекта MAPlFolder. Маленький пример: в результате вызова GetDefault-Folder (olFolderContacts) будет возвращен объект MAPlFolder, который содержит информацию о контактах. Эта информация оформлена в виде коллекции, каждый элемент которой представляет собой объект класса Contactltem. Листинг 24.3 демонстрирует способ получения одного из элементов коллекции в объекте MAPlFolder, который ссылается на предлагаемую по умолчанию папку с данными о контактах. Листинг 24.3. Пример получения информации о контактах 8 : 9: Sub PrintOneContact( ) Dim Outlook As New Outlook.Application Dim NameSpace As NameSpace Set NameSpace = Outlook.GetNameSpace( M№1 ) Dim Folder As MAPlFolder Set Folder = NameSpace.GetDefaultFolder(olFolderContacts) Dim Contact As Contactltem Set Contact = Folder.Items( Lori Kimmel ) Debug.Print Contact.FullName 10:End Sub В строке 2 листинга 24.3 посредством статической привязки создается экземпляр Outlook. Строка 3 содержит объявление переменной типа NameSpace, которая инициализируется в строке 4. В строке 5 объявляется переменная Folder типа MAPlFolder; в строке 6 ей присваивается значение объекта MAPlFolder, который ссылается на папку с информацией о контактах. Строка 7 содержит выражение объявления переменной Contact типа Contactltem. В строке 8 выполняется поиск элемента коллекции, в свойстве FullName которого хранится значение Lori Kimmel , и присвоение этого элемента переменной Contact. В качестве индекса вместо строки допускается задавать целочисленное выражение, значение которого не превышает величину, хранящуюся в Items.Count. Команда строки 9 отображает значение свойства ЫName выбранного объекта-элемента коллекции в окне lmmediate. Более лаконичный вариант той же процедуры приведен в листинге 24.4. Листинг 24.4. Сокращенный вариант процедуры листинга 24.3 1: Sub BriefPrintOneContact ( ) 2: Dim Outlook As New Outlook.Application
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |