Объектная
модель VBA Таблица
21.1. Описание объектов 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.
Программа
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