Материал: Программирование на языке Visual Basic для приложений. Подвальный С.Л., Рог А.И

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Следующий пример изменяет текст, отображаемый в строке состояния в нижнем левом углу окна приложения, присваивая строку свойству StatusBar объекта Application (объект Application — это host-приложение VBA, в данном случае

— Excel):

Application.StatusBar = "Генерировать отчет за третий квартал" Используйте свойство Application.StatusBar в своих процедурах для отображения сообщений о действиях, которые выполняет процедура, особенно если некоторые из этих действий занимают много времени (например, сортировка длинного списка). Добавляя сообщение в строку состояния, вы даете знать пользователю, что процедура все еще работает. Исполь-

зуйте оператор, подобный следующему: Application.StatusBar = "Сообщение о текущих действиях"

Не забывайте возвращать управление строке состояния при работе в Excel. В Excel необходимо устанавливать свойст-

во Application.StatusBar в False, когда процедура выполнена,

иначе Excel продолжает отображать заданное вами сообщение строки состояния. Используйте оператор, подобный следующему, для удаления сообщения из строки состояния и возврата управления строке состояния:

Application.StatusBar = False

 

 

 

Таблица 7.3

 

Некоторые свойства объектов в Excel

Свойство

 

Тип/Что означает

Где найти

ActiveCell

 

Object: активная ячей-

Application, Window

 

 

ка в рабочем листе

 

ActiveChart

 

Object: активная диа-

Application, Window,

 

 

грамма

Workbook

ActiveSheet

 

Object: активный лист

Application, Window,

 

 

 

Workbook

Address

 

Возвращает координа-

Range

 

 

ты ячейки указанного

 

 

 

объекта

 

113

 

 

Продолжение табл. 7.3

Cells

Диапазон объекта

 

Application, Range,

 

Range

 

Worksheet

Charts

Коллекция диаграмм

 

Application, Work-

 

 

 

book

Count

Integer: число объек-

 

Все объекты коллек-

 

тов в коллекции

 

ции

Formula

String: формула для

 

Диапазон

 

ячейки рабочего листа

 

 

Index

Integer: число объек-

 

Worksheet

 

тов в коллекции

 

 

Name

String: имя объекта

 

Application, Work-

 

 

 

book и в других объ-

 

 

 

ектах

Path

String: драйвер и ката-

 

Addin, Application,

 

лог, в котором сохра-

 

Workbook

 

нен объект

 

 

Saved

Boolean: сохранялась

 

Workbook

 

ли рабочая книга по-

 

 

 

сле последних изме-

 

 

 

нений

 

 

Selection

Object: текущий выде-

 

Application, Window

 

ленный фрагмент

 

 

Sheets

Коллекция листов ра-

 

Application, Work-

 

бочей книги

 

book

StatusBar

String: сообщение в

 

Application

 

статусной строке

 

 

ThisWorkBook

Object: рабочая книга,

 

Application

 

из которой выполня-

 

 

 

ется текущая проце-

 

 

 

дура

 

 

Type

Integer: число, указы-

 

Window, Worksheet,

 

вающее тип объекта

 

Chart

114

 

 

Окончание табл. 7.3

Visible

Boolean: отображается

Application, Work-

 

или нет объект на эк-

sheet, Range и в дру-

 

ране

гих объектах

Value

(варьируется): дейст-

Range

 

вительное значение,

 

 

отображаемое в ячей-

 

 

ке

 

Workbooks

Коллекция рабочих

Application

 

книг

 

Worksheets

Коллекция рабочих

Application, Work-

 

листов

book

Некоторые свойства из табл. 7.3 использованы в коде следующего листинга.

Листинг. Активный лист, ячейка

1Sub TestObjectOl()

2'имя активного листа

3MsgBox ActiveSheet.Name

5'адрес активной ячейки:

6MsgBox ActiveCell.Address

8'содержимое активной ячейки

9MsgBox ActiveCell.Formula 10: 11: End Sub

Как видите, даже небольшие знания об объектах дают

некоторые дополнительные возможности для работы со средой Excel. Но все еще впереди.

 

 

 

Таблица 7.4

 

Некоторые свойства объектов Word

Свойство

 

Тип/Значение

Имеется в объектах

ActiveDocument

 

Object: активный до-

Application

 

 

кумент

 

115

 

Продолжение табл. 7.4

ActivePrinter

String: имя активного

Application

 

принтера

 

ActiveWindow

Object: активное окно

Application, Docu-

 

 

ment

Count

Long: число объектов

Во всех объектах

 

в коллекции

коллекций

Name

String: имя объекта

Application, Book-

 

 

mark, Dictionary,

 

 

Document и в др.

Path

String: драйвер и путь

Addin, Application,

 

к папке, в которой со-

Dictionary, Docu-

 

хранен объект

ment и в других

Range

Object: часть докумен-

Bookmark, Para-

 

та, содержащаяся в

graph, Selection,

 

указанном объекте

Table и в других

Saved

Boolean: был ли со-

Document, template

 

хранен текст после

 

 

последнего изменения

 

Selection

Object: текущий выде-

Application, Pane,

 

ленный фрагмент

Window

StatusBar

String; сообщение

Application

 

строки состояния

 

Visible

Boolean: отображается

Application, Border

 

объект на экране или

 

 

нет

 

Перед подробным изучением свойств и методов встроенных объектов приведем некоторые примеры использования свойств и методов из таблицы.

Запустите Word. Откройте два документа. В одном из них в Редакторе VBA создайте новый модуль и введите код следующего листинга.

Листинг. Активный документ

1 Sub ActDocum()

116

2

3MsgBox ActiveDocument.Name, , _

4"Наименование активного документа"

6MsgBox ActiveDocument.Path, , _

7"Путь сохранения документа"

9 ActiveDocument.Close 'закрыть активный документ

10:

11:MsgBox ActiveDocument.Name, ,

12:"Наименование активного документа"

13:End Sub

7.7. Использование методов объекта

Методы объекта используются в операторах VBA так, как использовались бы любые встроенные процедуры VBA.

Метод объекта имеет следующий синтаксис:

Object.Method

Для методов объектов, имеющих обязательные и необязательные аргументы, используйте такой синтаксис:

Object.Method Argument1, Argument2, Argument3 ...

В обеих строках синтаксиса Object представляет любую допустимую объектную ссылку VBA, a Method — имя любого метода, принадлежащего объекту, на который выполняется ссылка. Во второй строке синтаксиса Argument1, Argument2 и т.д. представляют аргументы в списке аргументов метода. Как в случае с аргументами для вызова процедуры VBA, необходимо перечислять аргументы метода в определенном порядке, отделяя каждый аргумент в списке запятой и включая отме-

чающие запятые (place holding commas) для пропущенных не-

обязательных аргументов. Метод может иметь один или несколько аргументов в своем списке или не иметь их совсем; аргументы метода могут быть обязательными или необязательными.

Пример: рабочие книги Excel имеют метод Activate, который делает рабочую книгу активной и активизирует первый

117

Источник: https://studfile.net/preview/16565567/