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