Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа №17(алгор).doc
Скачиваний:
3
Добавлен:
26.09.2019
Размер:
95.23 Кб
Скачать

Практическое занятие №17

Тема : Объявление класса, создание экземпляров класса.

Цель работы : 1. Знать операторы условного и безусловного перехода.

2. Уметь использовать MsgBox для обеспечения возможности выбора.

3. Знать операторы циклов For…Next, Do…

4. Уметь использовать вложенные циклы

Материалы к занятию: MS Excel 2003.

Контрольные вопросы

  1. Как объявить класс?

  2. Иерархия классов?

  3. Что такое условный и безусловный переход?

  4. Какие вы знаете инструкции условного перехода?

  5. Сколько предложений ElseIf может содержать инструкция If…Then…Else?

  6. Сколько предложений Case можно включать в инструкцию Select…Case?

  7. Можно ли изменить количество итераций цикла For…Next?

  8. Как в цикле Do…задать проверку условия детерминанта до выполнения тела цикла, а как – после выполнения?

  9. Как в цикле Do… задать продолжение выполнения, пока условие детерминанта истинно, а как – пока условие детерминанта ложно?

Краткая теория

Объявление класса, создание экземпляров класса.

    • VBA управляет объектами, которые представлены запускающим приложением (в .данном случае Excel).

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

    • Классы объектов организованы в иерархическую структуру.

Объекты могут быть контейнерами для других объектов. Например, Excel — это объект под названием Application , он содержит другие объекты, например, Workbook (Рабочая книга). Объект Workbook может состоять из других объектов, например, Worksheet (Рабочий лист) и C h a r t (Диаграмма). Объект Worksheet также содержит объекты, например. Range (Диапазон), Pivot Table (Сводная таблица) и т.д.

Организацию таких объектов называют объектной моделью Excel.

    • Одинаковые объекты формируют коллекцию.

Например, коллекция Worksheets состоит из всех рабочих листов конкретной рабочей книги, а коллекция CommandBars — из всех объектов CommandBar. Коллекции — это объекты в себе.

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

Например, на рабочую книгу с названием Книга1 . х 1 в можно сослаться следующим образом:

Application.Workbooks("KHMral.xls")

Это ссылка на рабочую книгу KHMral.xls в коллекции Workbooks. Коллекция Workbooks находится в объекте Application. Переходя на следующий уровень, вы можете сослаться на лист Лист1 в книге Книга1.xls: Application.Workbooks("Книга1.xls").Worksheets ("Jbtcrl")

Перейдите на один уровень ниже, после чего необходимо сослаться на отдельную ячейку:

Application.Workbooks("KHMral.xls").Worksheets("Лист1").Range("Al")

    • При опущенной ссылке на объект Excel по умолчанию используются активные объекты.

Если книга Лист1 — активная рабочая книга, то предыдущую ссылку можно упростить:

Worksheets("Лист!").Range("Al")

Если вы знаете, что лист Лист 1 — активный, то ссылку можно упростить еще больше:

Range("А1")

Объекты имеют свойства.

Свойство можно считать параметром или настройкой объекта. Например, объект диапазона имеет такие свойства, как Value (Значение) и Name (Имя), Объект диаграммы обладает такими свойствами, как H a s T i t l e (Заголовок) и Туре (Тип). Вы вправе использовать VBA, чтобы задать свойства объектов и их изменить.

Свойства в программном коде отделяются от названия объекта точкой.

Например, вы можете сослаться на значение в ячейке А1 листа Лист1 следующим образом:

Worksheets ("Лист!").Range ("Al").Value

Работа с окнами кода

Каждому объекту в проекте соответствует свое окно кода. Такими объектами могут быть:

• сама рабочая книга (ЭтаКнига в окне Project Explorer);

• рабочий лист или лист диаграмм рабочей книги (например, Лист1 или Диаграмма1 в окне Project);

• модуль VBA;

• модуль класса (специальный тип модуля, позволяющий создавать новые классы объектов);

• форма UserForm.

С помощью линейных алгоритмов решаются самые примитивные задачи. Более сложные и серьезные задачи решаются с помощью более сложных алгоритмов, в которых последовательность выполнения команд зависит от выполнения или не выполнения некоторых условий. Такого рода задачи называются нелинейными. Алгоритмы в данных задачах называются алгоритмами ветвления.

Наиболее простым шагом в рассмотрении нелинейных алгоритмов является оператор условного перехода. Данный оператор имеет две формы синтаксиса: упрощённая однострочная форма и более сложная ступенчатая или многострочная.

Однострочная форма имеет следующий синтаксис:

If УсловноеВыражение Then Оператор1 [Else Оператор2]

Многострочная форма синтаксиса более сложная:

If УсловноеВыражение Then

ПоследовательностьОператоров1

[Else

ПоследовательностьОператоров2]

End if

Ч

Такая ступенчатая схема в программном коде выглядит так:

If Условие1 Then

СписокОператоров1

Elseif Условие2 Then

СписокОператоров2

Elseif Условие3 Then

СписокОператоров3

……………………..

End if

асто на практике приходится решать задачи, когда нужно проверить несколько условий. Тогда условные переходы получаются вложенными друг в друга. На блок–схеме это выглядит следующим образом

Оператор выбора SELECT CASE: применяется для реализации ветвления с несколькими условиями и вариантами выбираемых действий. Вид команды:

После Case, кроме конкретного значения переменной, можно использовать:

  1. Список Case 1, 5, 9, 14

  2. Диапазон Case 10 TO 20

  3. Условие Case Is < 0

  4. Остальные случаи Case Else

Select Case переменная

Case значение 1

команды

Case значение 2

команды

Case значение n

команды

End Select

Например: Select Case vozrast

Case 0 to 6

Print “Дошкольник”

Case 7 to 17

Print “Школьник”

Case Else

Print “Недопустимое значение”

End Select