Объектная модель VBA


Описание объектов VBA

Объект

Тип

Описание

Collection

Объект из биб-

Упорядоченная совокупность объектов, с

лиотеки VBA

которой можно обращаться как с единым объектом

Debug

Объект

Позволяет выводить текущую информа-

цию в окно отладки непосредственно во

время выполнения кода на VBA

Dictionary

Объект из биб-

Объект, представляющий пару — ключ и

лиотеки Scripting

элемент. Является аналогом ассоциа-

тивной памяти

Drives

Семейство из

Содержит объекты Drive, предоставляю-

библиотеки

щие информацию (только для чтения) обо

Scripting

всех доступных дисках. Является свойст-

вом объекта FileSystemObject

Drive

Объект- из биб-

Предоставляет доступ к свойствам кон-

лиотеки Scripting

кретного локального или сетевого диска

Err

Объект из биб-

Предназначен для обработки ошибок

лиотеки VBA

Automation и ошибок модулей VBA во

время выполнения кода на VBA

Files

Семейство из

Содержит объекты класса File и пред-

библиотеки

ставляет совокупность всех файлов в

Scripting

данной папке. Является свойством объ-

екта FileSystemObject

File

Объект из биб-

Предоставляет доступ ко всем свойст-

лиотеки Scripting

вам файла на диске

FileSystemObject

Объект из биб-

Предоставляет доступ к файловой сис-

лиотеки Scripting

теме компьютера

Folders

Семейство из

Содержит объекты Folder и представ-

библиотеки

ляет совокупность всех папок внутри

Scripting

данной папки. Является свойством объекта Folder (свойство называется

SubFolders)

Folder

Объект из биб-

Предоставляет доступ ко всем свойст-

лиотеки Scripting

вам папки на диске

 

Объект

Тип

Описание

Texts tr earn

Объект из библиотеки Scripting

Обеспечивает последовательный доступ к текстовому файлу

UserForms

Семейство из библиотеки VBA

Содержит объекты Object, соответствующие объектам UserForm, и пред-

ставляет совокупность пользовательских форм, загруженных в данный момент в приложение. Это семейство является свойством объекта Global из библиотеки VBA

UserForm

Абстрактный объект VBA
Object

Представляет форму, являющуюся частью пользовательского интерфейса приложения. Характеристики этого объекта определяются пользователем

Продемонстрируем небольшой пример работы с рядом объектов VBA. Мы хотим вывести в окно Immediate посредством метода Print Объекта Debug
литеры, соответствующие логическим дискам компьютера. Для этого мы указали ссылку на объект, являющийся семейством Drives, после чего, воспользовавшись циклом For Each . .. Next, вывели требуемые значения посредством свойства DriveLetter объекта Drive.
Замечание
Цикл For Each . . . Next очень полезен при работе с семействами, поскольку не требуется знать количество объектов семейства и можно устраивать цикл по всей структуре. В противном случае необходимо было бы воспользоваться свойством count.
Использование объектов VBA
Sub ShowDriveList()
Set fsystem = CreateObject("Scripting.FileSystemObject")
Set systemDrives = fsystem.Drives
For Each d In systemDrives
Debug.Print d.DriveLetter
Next End Sub
Объектная модель Office XP
Объекты Microsoft Office используются в иерархической структуре других объектных моделей. Описание основных объектов Microsoft Office, собранных в библиотеке Office.
Описание объектов Microsoft Office XP

Объект

Тип

Описание

Assistant

Объект и семейство

Ссылается на объект, представляющий активного в данный момент Помощника по Office

CommandBar

Объект и семейство

Содержит объекты CommandBar, соответствующие панелям команд приложения-контейнера (это могут быть строки меню, панели инструментов и контекстные меню)

FileSearch

Объект

Реализует функциональность стандартного диалогового окна открытия файла

LanguageSetting

Новый объект

Предоставляет информацию о языковых настройках приложения семейства Microsoft Office

AnswerWizard

Объект

Соответствует Мастеру ответов Microsoft Office. Все приложения семейства Microsoft Office имеют один Мастер ответов, поэтому все изменения этого объекта немедленно отразятся на активном приложении

DocumentProperty

Семейство

Содержит объекты DocumentProperty, каждый из которых представляет собой набор встроенных или определенных пользователем характеристик (свойств) документа-контейнера

HTMLProject

Новый объект

Представляет собой корень дерева проекта Web-страницы, отображаемого в окне просмотра проекта Project Explorer редактора сценариев Microsoft Script Editor. Этот объект содержит семейство HTMLProjectitems объектов HTMLProjectltem, ссылающихся на элементы иерархической структуры проекта. С помощью этого объекта можно управлять проектом Web-страницы

Script

Семейство

Содержит объекты Script, соответствующие сценариям, определенным в документе Word, электронной таблице Excel или слайде PowerPoint. С помощью этого объекта можно управлять сценариями документа, например создавать новые сценарии

WebPageFont

Семейство

Содержит набор объектов WebPageFont, каждый из которых соответствует одному из поддерживаемых национальных стандартов и определяет масштабируемый шрифт и его размер (кегль) и моноширинный шрифт и его размер, которые используются по умолчанию при сохранении документа в формате Web-страницы

COMAddln

Семейство

Содержит объекты COMAddln, соответствующие надстройкам сом (соответствующих спецификации компонентной модели объектов), зарегистрированным в реестре Windows

В программе мы рассмотрим объекты Assistant и Balloon, использование которых улучшает взаимосвязь пользователя с приложением. Сначала мы узнали имя текущего Помощника, после чего, воспользовавшись методом объекта Assistant, создали новое окно и вывели в него полученную информацию.
Использование объектов Assistant и Balloon
Sub ShowAssistant()
blnName = Application.Assistant.Name
Dim bin As Balloon
Set bin = Application.Assistant.NewBalloon
With bin
.Heading = "Привет!"
.Icon = msoIconTip
.Text = "Меня зовут " + blnName + "."
.Show End With End Sub