Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
48
Добавлен:
12.04.2015
Размер:
146.42 Кб
Скачать

Объект.Метод

Свойство представляет собой атрибут объекта. Для изменения характеристик объекта надо задать новое значение его свойства. Синтаксис оператора:

Объект.Свойство=ЗначениеСвойства

Событие представляет собой действие, распознаваемое объектом, и может быть вызвано пользователем, программой или операционной системой. По своей сути событие представляет собой аппаратное или программное прерывание, которое обрабатывается создаваемой пользователем программой обработки событий (прерываний). В целом программирование на VBA представляет собой процесс создание кода программ, непосредственно или косвенно генерирующих отклики на события.

  1. Лабораторная установка

Лабораторной установкой является персональный компьютер IBM PC с установленным пакетами Excelи VisualBasicforApplications.

  1. Порядок выполнения работы

  1. Включите компьютер. Загрузите Windows. Загрузите Excel. Если вы это делаете на этой машине впервые, то по умолчанию Excel в качестве названия рабочей книги (имени файла на диске) предлагает название Книга1 или же Книга с неким текущим номером. Выполните команду главного меню Файл/Сохранить как и получите на экран окно Сохранение документа. При стандартной настройке в окне Папка появится название основной рабочей папки Мои документы. Если по каким-то причинам установилась другая папка, нажмите кнопку меню Папка и выберете папку Мои документы. Кнопкой Создать новую папку создайте папку с номером вашей группы, если она отсутствует. Откройте эту папку и в окне Имя файла исправьте название Книга1на название, соответствующее вашей фамилии, сохранив расширение имени файла .xls. Нажмите кнопку Сохранить и убедитесь, что в верхней левой области экрана после текста Microsoft Excelпоявилось название вашей рабочей папки в виде вашей фамилии. После этого при дальнейшей работе для загрузки своего файла вам будет необходимо войти в папку Мои документы, в ней найти папку с номером своей группы, а в ней выбрать файл со своей фамилией.

  2. Включите режим записи макроса, для чего выберите режим Сервис/Макрос/Начать запись. В открывшемся меню Запись макроса введите свое имя макроса, например Проверка, и присвойте ему комбинацию горячих клавиш, например Ctrl+z. Нажмите кнопку меню OKи приготовьтесь к началу записи макроса в виде последовательности команд, выполняемых на рабочем листе Excel.

  3. Введите в ячейку A1 первого рабочего листа чистой книги Excelслово Проверка. Введите в ячейку A2 число 2 и то же число в ячейку B2. В ячейке C2 запрограммируйте формулу для вычисления произведения содержимых ячеек A2 и B2. Остановите запись макроса нажатием кнопки Остановить запись.

  4. Отключите режим автосохранения, для чего вызовите меню Сервис/Автосохранение, отключите флажок Запрашивать разрешение и флажок Сохранять каждые.

  5. Очистите область A1:C3 рабочего листа и с помощью команд Сервис/Макрос/Макросы вызовите на выполнение макрос Проверка. Убедитесь, что макрос выполняется правильно.

  6. Снова очистите область A1:C3 рабочего листа и вызовите на выполнение макрос Проверка с помощью комбинации клавиш Ctrl+z.

  7. Ознакомьтесь с набором рабочих окон редактора VBA и с текстом созданной программы, для чего с помощью команд Сервис/Макрос/Макросы вызовите макрос Проверка и нажмите кнопку Изменить. Аналогичный результат можно получить выполняя последовательность команд Сервис/Макрос/Редактор VisualBasic. Редактор VBA имеет главное меню, аналогичное меню программ пакета Microsoft Office. Окно проекта открывается в результате выполнения команды Вид/Окно проекта и содержит иерархическую структуру файлов форм и модулей текущего проекта. По своему назначению модули могут быть двух типов – модули объектов и стандартные. К стандартным модулям относятся те, которые содержат макросы и добавляются в проект командой Вставка/Модуль. Формы создаются командой Вставка/Пользовательская форма, а модули класса – командой Вставка/Модуль класса. Двойной щелчок по имени модуля открывает связанное с ним Окно редактирования кода. Убедитесь в наличии других окон редактора (Окно редактирования форм, Окно свойств, Окно просмотра объекта, Окно отладчика).

  8. Ознакомьтесь с текстом созданного модуля Проверка. Пример полученного текста представлен ниже.

Sub Проверка()

' Проверка Макрос

' Макрос записан 16.07.2001 (stepanov)

'

' Сочетание клавиш: Ctrl+z

'

Application.RunRange("AUTOSAVE.XLA!mcs02.OnTime")

Range("A1").Select

ActiveCell.FormulaR1C1 = "Проверка"

Range("A2").Select

ActiveCell.FormulaR1C1 = "2"

Range("B2").Select

ActiveCell.FormulaR1C1 = "2"

Range("C2").Select

ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"

EndSub

Первая строка представляет собой заголовок созданной процедуры Проверка. Параметры процедуры отсутствуют. Символом ' обозначен комментарий. Первая рабочая строка программы вызывает объект Application (приложение) с методом Run (выполнить), вызывающим на выполнение объект Range (диапазон) с параметрами начальной установки рабочего листа. Далее производится выделение ячейки A1 текущего рабочего листа и запись в активную ячейку в формате R1C1 текста “Проверка”. Отметим, что в Excelсуществует два формата (A1 и R1C1) и два способа адресации (относительная и абсолютная) ячеек памяти. В формате A1 признаком абсолютной адресации является символ “$”. В формате R1C1 абсолютный адрес задается индексами рабочей строки и столбца, а при необходимости использования относительной адресации в квадратных скобках указывается относительное смещение со знаком по отношению к текущей рабочей ячейке. Последующие действия программы соответствуют выполненной последовательности при программировании макроса. Как следует из текста, константы и формулы заносятся с использованием метода FormulaR1C1 объекта ActiveCell.

  1. Модифицируйте созданную программу. Введите в ее текст описание двух дополнительных переменных:

Dimb, cAsInteger

Задайте в тексте программы оператором присваивания им некоторые начальные значения и модифицируйте строчки:

Range("A2").Select

ActiveCell.Formula = b

Range("B2").Select

ActiveCell.FormulaR1C1 = c

Запустите макрос на выполнение и убедитесь, что он выполняется правильно.

  1. Введите в текст программы стандартное сообщение:

MsgBox "Первый сомножитель", vbOKOnly, "Проверка"

Убедитесь, что программа выполняется правильно.

  1. Предварительно описав переменную d как строку символов, введите в текст программы оператор ввода данных:

DimdAsString

d = InputBox("Первый сомножитель", "Проверка")

Преобразуйте значение d из символьного вида к числовому с помощью функции

b = Val(d)

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

Ниже представлен пример созданной в процессе модернизации макроса программы на языке VBA:

SubПроверка()

'

' Проверка Макрос

' Макрос записан 16.07.2001 (stepanov)

'

' Сочетание клавиш: Ctrl+z

'

Dim b, c As Integer

Dim d As String

Application.RunRange("AUTOSAVE.XLA!mcs02.OnTime")

Worksheets(1).Activate

b = 5

c = 6

MsgBox "Первый сомножитель", vbOKOnly, "Проверка"

d = InputBox("Первый сомножитель", "Проверка")

b = Val(d)

Range("A1").Select

ActiveCell.FormulaR1C1 = "Проверка"

Range("A2").Select

ActiveCell.Formula = b

Range("B2").Select

ActiveCell.FormulaR1C1 = c

Range("C2").Select

ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"

EndSub