Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 Курс Информатика VBA(ЗО) / Лабораторные работы / Лабораторный практикум VBA.doc
Скачиваний:
144
Добавлен:
31.05.2015
Размер:
813.57 Кб
Скачать

Ход выполнения работы:

    1. Наберите в редакторе VBAпримеры из теоретической части и разберитесь, как они работают.

    2. Создайте процедуру, которая при двойном щелчке по ячейке А1 заполняла бы любые ячейки столбца В списком дней недели.

    3. Создайте процедуру, которая при выделении любого диапазона листа 2 заполняла бы его произвольным текстом красного цвета.

    4. Написать процедуру, которая выполняла бы следующее: пользователь вводит в ячейку свое имя, а компьютер выводит стандартное окно с приветствием ( «Добрый день ...»)

Лабораторная работа № 9

«Создание пользовательской формы»

Цель: Изучить создание форм средствамиVBA.

Краткие теоретические сведения

Пользовательская форма представляет собой объект VBA–UserForm. Для того чтобы вставить форму в проект необходимо дать командуInsertUserForm(Вставка-Форма). В результате экран компьютера будет выглядеть следующим образом (Рисунок 2)

Рисунок 2 - Окноформы

Таблица 18 - Основные свойства формы:

Свойство

Описание

Name

Устанавливает имя пользовательской формы. Т.е. это идентификатор формы в коде программы.

Caption

Текст заголовка формы

BorderStyle

Устанавливает тип границы формы

0 – границы нет

1– граница есть (используемая по умолчанию)

BorderColor

BackColor

Устанавливает цвет фона и текста формы

Picture

Определяет рисунок, отображаемый как фон формы

Left, Top

Определяют местоположение верхнего левого угла формы

Таблица 19 -Основные методы формы:

Метод

Описание

Show

Отображает форму на экране

Hide

Скрывает форму

Move

Перемещает форму

PrintForm

Печатает форму на принтере

Таблица 20 - Основные события формы:

Событие

Описание

Initialize

Происходит во время вызова формы до ее загрузки

Resize

Происходит при изменении размеров формы

Terminate

Происходит при закрытии формы

Click, DblClick

Происходит при одинарном и двойном щелчке мышкой по форме

MouseDown,

MouseUp

Происходит при нажатии и отпускании кнопки мыши.

Activate,

Deactivate

Происходит при активизации и деактивизации формы.

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

Load- загружает форму. Например:LoadForm1

UnLoad- Выгружает форму. НапримерUnloadForm1

В программном коде, написанном в модуле формы, можно заменить имя формы на специальное слово Me. Например:UnLoadMe

Ход работы:

  1. Создадим форму, которая рассчитывает стоимость товара с учетом НДС. Для этого откроем окно формы и добавим из панели элементов управления (Рисунок …) три надписи, три поля ввода и две кнопки.

Рисунок 3 - Панель элементов управления

Затем при помощи окна Свойства (Properties) задайте элементам управления значения следующим свойствам:

Таблица 21 –Свойства формы

Элемент управления

Свойство

Значение

Форма

Caption

Расчет стоимости

Надпись (Label1)

Caption

Стоимость без учета НДС

Надпись (Label2)

Caption

НДС

Надпись (Label3)

Caption

Стоимость с учетом НДС

Кнопка (CommandBatton1)

Name

cmdOk

Caption

Ok

Кнопка (CommandBatton2)

Name

cmdCancel

Caption

Cancel

Поле ввода (TextBox1)

Name

txtCost

Поле ввода (TextBox2)

Name

txtTax

Поле ввода (TextBox3)

Name

txtResult

В результате в окне конструктора форм должно быть следующее:

Рисунок 4- Проектируемая форма

После этого дважды мышкой кликните по кнопке OKи введите следующий программный код:

Private Sub CommandButton1_Click()

Dim dCost As Double

Dim iTax As Long

Dim dResult As Double

iCost = CDbl(txtCost.Text)

iTax = CLng(txtTax.Text)

dResult = iCost * (1 + iTax / 100)

dResult = Format(dResult, "Fixed")

txtResult.Text = CStr(dResult)

End Sub

____________________________________________

Private Sub CommandButton2_Click()

Unload Me

End Sub

Запустите проект нажатием кнопкиF5. В результате на экране должно появиться нечто похожее на рисунок 5.

Рисунок 5 - Окно готовой формы с результатами вычислений

Для того, чтобы защитить результаты вычисления от вмешательства пользователя, строку с результатами вычислений можно защитить. Защиту можно провести используя свойства EnabledилиLocked. СвойствоEnabledзакрывает полностью строку с результатом. Результат можно только смотреть, но нельзя выделить или скопировать.

Добавьте в текст программы следующую процедуру:

Private Sub UserForm_Initialize()

txtResult.Enabled = False

End Sub

Чтобы дать пользователю возможность скопировать результат вычисления для дальнейшего использования можно заменить предыдущую процедуру следующей:

Private Sub UserForm_Initialize()

txtResult. Locked = True

End Sub

Выполните следующие задания самостоятельно:

  1. Создать диалоговое окно, имеющее два поля ввода АргументиЗначение функциии кнопку ОКВ полеАргументвводится число, нажимается кнопкаОК, и в поле вводаЗначение функцииотобразится найденное значение функции. Функцию взять из лабораторной работы №1.

  2. В диалоговом окне из предыдущего задания добавить поле ввода Точностьи счетчик. Работа счетчика и поляТочность синхронизированы. Счетчик задает количество десятичных знаков после запятой.

Лабораторная работа № 10