![](/user_photo/2706_HbeT2.jpg)
- •Лекция 5. Объектная модель vba
- •Разработка приложений
- •Этапы разработки приложения
- •Определение потребностей пользователя
- •Проектирование приложения
- •Разработка интерфейса
- •Разработка приложения
- •Тестирование и отладка
- •Разработка документации и справочной системы
- •Установка приложения
- •Обновление приложения
- •Объектно-ориентированное программирование
- •Свойства, методы и события
- •Иерархия коллекций и объектов
- •Некоторые полезные свойства объекта Application
- •Работа с объектами Range
- •Задание диапазона
- •Свойства объекта Range
- •Методы объекта Range
- •Примеры работы с объектом Range
- •Параметры свойств и методов в языке vba
Установка приложения
Установка приложения может оказаться не тривиальной задачей, т.к. может потребовать указания каких-либо параметров приложения, а также согласования приложения с другими приложениями. В настоящее время существуют специальные средства, создающие приложения-установщики, автоматизирующие этот процесс, а также средства, позволяющие внедрять в приложение цифровую подпись для гарантии подлинности приложения.
Обновление приложения
Жизнь не стоит на месте, поэтому после разработки приложения, даже полностью соответствующего начальной спецификации, может потребоваться модификация приложения, добавление в него новых функций. Этап обновления приложения выявляет все ошибки и недочёты, допущенные на стадии проектирования приложения.
Объектно-ориентированное программирование
Современное программирование – это, прежде всего, объектно-ориентированное программирование, которое подразумевает создание и обработку программных конструкций, соответствующих предметам реального мира. В объектно-ориентированной программе обычно создаётсякласс– обобщенное описание некоторого предмета, затем создаютсяобъектыэтого класса, и программа работает с этими объектами. Например, существует классWorkbook, который описывает рабочую книгу приложенияMicrosoftExcelвообще – её характеристики (имя, формат файла, использование системы дат 1904 года, рабочие листы книги, стили рабочей книги и т.д.), действия, которые можно выполнить над книгой, (открыть, закрыть, сохранить, сохранить под другим именем и т.д.) и события, которые могут происходить в книге, (открытие, добавление листа, изменение листа и т.д.). Затем мы создаём рабочую книгу, которая называется, например,Моя рабочая книга № 1245. Теперь этот конкретный объект имеет конкретное имя, конкретный формат, определённое количество листов и т.д.
Объектно-ориентированное программирование подразумевает в первую очередь разработку классов, но это сложная задача, которой мы пока заниматься не будем. Но программирование на языке VBA не возможно без понимания сути объектно-ориентированного программирования, т.к. язык VBA управляет объектами, которые существуют в том или ином приложении (Word,Excel,Access,PowerPoint). Каждое приложение имеет свой набор объектов. Единственный совпадающий объект – это объектApplication, описывающий собственно приложение.
Свойства, методы и события
Все объекты имеют свойства,методыисобытия.
Свойство– этохарактеристикаобъекта. Свойства всегда возвращают некоторое значение, имеют определённый тип (целый, вещественный, строковый, логический, рабочая книга, рабочий лист, диапазон и т.д.) и могут использоваться либо только для получения некоторой характеристики объекта, либо как для получения, так и для изменения характеристики объекта. Рассмотрим для примера некоторые свойства объектаWorkbook– рабочая книга.
Name– свойство представляет собойстроку, содержащую имя рабочей книги, например,Книга1.xlsx. Изменить это свойство нельзя.
FullName – свойство представляет собойстроку, содержащую полный путь и имя рабочей книги, например,D:\Документы\Книга1.xlsx. Изменить это свойство нельзя.
Date1904 –логическоесвойство, значение которого равноTrue, если рабочая книга использует систему дат 1904 года, и значениеFalseв противном случае. С помощью языка VBA можно изменить это свойство и, соответственно, используемую систему дат.
ActiveSheet – свойство, определяющее активный рабочий лист книги. Является ссылкой на объектWorksheet– рабочий лист. Изменить это свойство нельзя. Однако это не значит, что с помощью языка VBA нельзя изменить активный рабочий лист. Просто для этого используются другие инструменты.
Методопределяетдействие, выполняемое над объектом. Реализуется в виде процедуры или функции. Действие может быть сложным, и соответствующая процедура может быть также сложной и длинной. Методы могут менять свойства объекта. Рассмотрим для примера некоторые методы объектаWorkbook.
Close –закрытие рабочей книги.
Save – сохранение рабочей книги.
SaveAs – сохранение рабочей с другим именем или в другом формате.
Protect – защита рабочей книги.
Unprotect – отмена защиты рабочей книги.
Большинство объектов распознают так называемые события, т.е.изменения в состоянииэтого объекта. Для каждого события можно написать процедуру на языке VBA, которая будет выполняться при наступлении этого события. Рассмотрим для примера некоторые события объектаWorkbook.
Open– событие, которое происходит при открытии рабочей книги.
NewSheet – событие, которое происходит при добавлении нового листа в рабочую книгу.
SheetChange – событие, которое происходит при изменении ячейки любого листа рабочей книги.