Объект Workbook

Объектная модель Excel

Объект Err

Объект Err - содержит информацию об ошибках времени выполнения. Ошибки такого рода генерируются системными функциями VBA, либо программистом в коде программы. При возникновении ошибки времени выполнения (run-time error), свойства объекта Err принимают значения, уникальным образом идентифицирующие эту ошибку и используемые для ее обработки.

Для генерации ошибки программным путем используется метод Raise. Этот метод, совместно с командой Error, используется для генерации системных ошибок в модулях классов. В прочих программных модулях этот метод позволяет генерировать пользовательские ошибки. Основное свойство этого объекта - код ошибки (Number).

Все свойства объекта Err сбрасываются при выходе из подпрограммы, вызвавшей ошибку, кроме случаев, когда инструкция Resume (инструкция передачи управления после обработки ошибки) находится вне блока обработки.

Метод Clear используется для принудительного сброса свойств объекта Err. Пример использования объекта Err приведен на рис. 7.

Рис. 7. Пример использования объекта Err

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

Объект Workbook представляет доступ к открытой рабочей книге Excel. Этот объект является элементом коллекции Workbooks. У объекта имеется множество свойств и методов, основными являются Sheets — коллекция рабочих листов, Worksheet — определенный рабочий лист, Range — диапазон ячеек, Selection — текущее выделение, CellFormat — формат ячеек. Пример использования некоторых объектов рабочей книги приведен в листинге 27.

Листинг 27. Программирование объектов рабочей книги

Sub ChangeCellFormat Range(“A1”).Select Selection.Interior.ColorIndex = 36 MsgBox “Ячейка A1 залита жетым цветом” With Application .FindFormat.Interior.ColorIndex = 36 .ReplaceFormat.Interior.ColorIndex = 36 End With ActiveCell.Replace What:=””, Replacement:=””, LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=True, _ ReplaceFormat:=True MsgBox “Ячейка A1 залита зеленым цветом” End Sub