Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Excel_new.doc
Скачиваний:
97
Добавлен:
22.02.2015
Размер:
5.05 Mб
Скачать
  1. Объектное программирование. Visual Basic

На начальной стадии компьютерного обучения мы встречались с понятиями "структура", "класс", которые позволяют группировать отдельные элементы и рассматривать их как единое целое - объект. Включение в состав объектов функций, которые управляют этими объектами (классы), качественно изменило стиль программирования, ориентировало программиста на работу с микро- и макрообъектами, создало новое направление - "объектно-ориентированное программирование (ООП)".

В основе программных комплексов, входящих в состав Microsoft Office (Excel, Word, Access и др.), лежит объектно-ориентированный язык программирования Visual Basic (VB). В первой части пособия мы вскользь рассматривали написанные на Visual Basic макросы, создаваемые в Excel. При этом не только читали их, но и корректировали. Мы интуитивно осознали, что Visual Basic открывает для нас практически бесконечные возможности расширения Excel путем разработки новых программных процедур и функций. Для этого нам нужно лишь освоить основы программирования на Visual Basic.

    1. Основные понятия

Объекты

Известно, что такое физический объект. Клавиатура, компьютер, мышь, монитор, принтер - такие же физические объекты, как и ваша чашка кофе. А что такое программный объект? Программный объект включает в себя данные и код, который знает, как манипулировать этими данными. Он может быть представлен как реальный физический объект, например в виде командной кнопки, или как некоторая программно-информационная структура, например связный список или библиотека функций. Общие примеры объектов Visual Basic и Excel - это таблицы, области ячеек, текстовые окна, рабочие папки, диаграммы, модули и др.

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

Объект участвует в программах через посредство своих свойств и методов. Он имеет идентификатор или ключевое слово (часто говорят, объект – это то, что имеет имя). Свойства и методы отделяются от него точкой.

Методы - это действия (открыть, закрыть, копировать и др.), которые можно выполнять с объектами. Как правило, они отвечают на вопрос “Что делать?”. Часто методы, подобно функциям, имеют аргументы. Кстати, функции класса также называются методами.

Пример. Для добавления нового рабочего листа (объекты Worksheets) используется метод Add.

Процедура

Комментарий

Sub AddSheet()

Начало процедуры (Sub – от Subroutine).

Worksheets.Add

Добавление нового листа

End Sub

Конец процедуры

Пример метода с параметрами - ActiveWorkbook.Close saveChanges:=False.

Здесь saveChanges:=False - параметр метода Close (без сохранения изменений).

Наборы

Однотипные объекты объединяются в наборы (набор рабочих книг, листы рабочей папки, группа управляющих кнопок и др.). Имеются методы, позволяющие выделить объект из набора. Например, оператор Workbooks(1).Close указывает, что нужно закрыть (метод Close) первый объект из набора Workbooks (сочетание Workbooks() - это упомянутый метод, позволяющий выбрать соответствующий элемент из набора).

На объекты можно ссылаться как по порядковому номеру в наборе, так и по имени, например, Workbooks("Горсети.xls").Close.

Вложение объектов

Объекты могут включать в себя другие объектные наборы (папка состоит из листов, которые, в свою очередь, включают в себя таблицы). Для того чтобы добраться до нужного объекта, необходимо перечислить все иерархически предшествующие.

Рассмотрим оператор Workbooks("Горсети.xls").Worksheets(1).Delete. Методом Workbooks() из группы загруженных файлов извлекается тот, который имеет название "Горсети.xls". Это записывается в виде Workbooks("Горсети.xls"). Только теперь мы получаем объект, с которым что-то можно делать. Простая запись "Горсети.xls" - это еще не объект, это просто название файла. Далее, по аналогии, метод Worksheets(1) возвращает объект - первый лист из набора.

Для того чтобы не запутаться в иерархии объектов, желательно пользоваться конструкторами, которые непременно доведут до цели. Наиболее употребительные наборы: Sheets (страницы), Workbooks (открытые Excel-файлы), Charts (диаграммы).

Можно оперировать сразу со всем набором объектов, например для закрытия всех открытых файлов: Workbooks.Close.

Свойства

Свойства - это характеристики (атрибуты) объектов, которые можно видеть и изменять (цвет, величина, доступность объекта и др.). Свойства в отличие от методов никогда не имеют аргументов. Обычно свойства меняются оператором присвоения. Например, пусть в файле "Горсети.xls" изменяется название рабочего листа на новое "ТКЗ". Это реализуется оператором:

Workbooks("Горсети.xls").Worksheets("Sheet1").Name = "ТКЗ".

Здесь у последнего по иерархии вложенного объекта (страница с названием "Sheet1") меняется свойство Name. Свойство Name стоит слева от знака равенства - ему присваивается значение. Для того чтобы получить значение этого свойства, необходимо поместить приведенную конструкцию справа от знака равенства, например в операторе Range("k20").Value = Worksheets(1).Name .

Когда выполняется метод, он может изменить лишь свойства данного объекта, но не других объектов.

Выше было показано, что существуют методы и свойства, возвращающие объект. Они называются акссесорами (от слова access - доступ) и обычно сопровождаются аргументами в скобках, например,

Workbooks("Горсети.xls").Activate (активизируется файл "Горсети.xls" из набора Workbooks);

Worksheets("ТКЗ").Cells(1,1).ClearContents (в листе с именем "ТКЗ" очищается содержимое ячейки с координатами: строка 1, столбец 1).

Примеры свойств, возвращающих объект: ActiveCell (активная ячейка), ActiveWindow (активное окно), ActiveSheet (активная страница), Selection (выделенная область), Font (атрибуты символов), Interior (внутренняя область), Border (рамка).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]