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

Объект Тип Описание 
CollectionОбъект из библиотеки VBAУпорядоченная совокупность объектов, с которой можно обращаться как с единым объектом
DebugОбъектПозволяет выводить текущую информа- цию в окно отладки непосредственно во время выполнения кода на VBA
DictionaryОбъект из библиотеки ScriptingОбъект, представляющий пару — ключ и элемент. Является аналогом ассоциативной памяти
DrivesСемейство из библиотеки ScriptingСодержит объекты Drive, предоставляю- щие информацию (только для чтения) обо всех доступных дисках. Является свойст- вом объекта FileSystemObject
DriveОбъект из библиотеки ScriptingПредоставляет доступ к свойствам конкретного локального или сетевого диска
ErrОбъект из библиотеки VBAПредназначен для обработки ошибок Automation и ошибок модулей VBA во время выполнения кода на VBA
FilesСемейство из библиотеки ScriptingСодержит объекты класса File и представляет совокупность всех файлов в данной папке. Является свойством объекта FileSystemObject
FileОбъект из биб лиотеки ScriptingПредоставляет доступ ко всем свойст вам файла на диске
FileSystemObjectОбъект из библиотеки ScriptingПредоставляет доступ к файловой системе компьютера
FoldersСемейство из библиотеки ScriptingСодержит объекты Folder и представ- ляет совокупность всех папок внутри данной папки. Является свойством объекта Folder (свойство называется SubFolders)
FolderОбъект из библиотеки ScriptingПредоставляет доступ ко всем свойствам папки на диске
Объект Тип Описание 
Texts tr earnОбъект из библиотеки ScriptingОбеспечивает последовательный доступ к текстовому файлу
UserFormsСемейство из библиотеки VBAСодержит объекты Object, соответствующие объектам UserForm, и представляет совокупность пользовательских форм, загруженных в данный момент в приложение. Это семейство является свойством объекта Global из библиотеки VBA
UserFormАбстрактный объект VBA ObjectПредставляет форму, являющуюся частью пользовательского интерфейса приложения. Характеристики этого объекта определяются пользователем

Таблица 21.1. Описание объектов VBA

Продемонстрируем небольшой пример работы с рядом объектов VBA. Мы хотим вывести в окно Immediate посредством метода Print Объекта Debug

литеры, соответствующие логическим дискам компьютера. Для этого мы указали ссылку на объект, являющийся семейством Drives, после чего, воспользовавшись циклом For Each . .. Next, вывели требуемые значения посредством свойства DriveLetter объекта Drive.

Замечание

Цикл For Each . . . Next очень полезен при работе с семействами, поскольку не требуется знать количество объектов семейства и можно устраивать цикл по всей структуре. В противном случае необходимо было бы воспользоваться свойством count.

Программа 21.1. Использование объектов VBA

Sub ShowDriveList()

Set fsystem = CreateObject("Scripting.FileSystemObject")

Set systemDrives = fsystem.Drives

For Each d In systemDrives

Debug.Print d.DriveLetter

Next End Sub