Объектная модель 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