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