
- •Введение. Установка среды программирования
- •2. История языка Basic
- •3. Установка Visual Basic
- •Лабораторная работа №1. Интерфейс Visual Basic. Создание первого проекта
- •Теоретическая часть
- •1 . Первое знакомство
- •5. Стандартная панель инструментов
- •Практическая часть
- •Лабораторная работа №2. Изменение свойств компонентов. Метод Print
- •Теоретическая часть
- •1. Состав панели управления
- •2. Окно свойств и редактора кода
- •3. Свойства элементов управления
- •3.1 Свойства элемента Form
- •3.2 Свойства элемента TextBox
- •3.3. Свойства компонента CommandButton
- •Объект.Print [Список вывода]
- •Объект.Cls Практическая часть
- •Лабораторная работа №3. Работа с простейшим графическим объектом Visual Basic
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №4. Работа с арифметическими выражениями и функциями
- •Теоретическая часть
- •1. Арифметические выражения Visual Basic.
- •2. Встроенные функции Visual Basic
- •3. Функции преобразования
- •Str (число)
- •Val (символьное выражение)
- •Практическая часть
- •Лабораторная работа №5. Решение простейших математических задач с использованием линейных алгоритмов
- •Теоретическая часть
- •1. Типы данных
- •2. Объявление переменных
- •Public / Private / Dim Имя_переменной [As Тип_переменной]
- •Оператор_объявления_типа Строка_интервалов_имен
- •3. Константы Visual Basic
- •4. Область видимости переменной
- •Public / Private / Dim Имя_переменной [As Тип_переменной]
- •Имя_формы.Имя_переменной
- •Практическая часть
- •Лабораторная работа №6. Программирование ветвлений с использованием оператора If
- •Теоретическая часть
- •1. Конструкция If … Then … End If
- •2. Конструкция If … Then … Else … End If
- •3. Конструкция If … Then … Else If… End If
- •Практическая часть
- •Лабораторная работа №7. Программирование ветвлений с использованием оператора Case
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №8. Программирование циклов
- •Теоретическая часть
- •1. Цикл For…Next
- •2. Цикл For Each … Next
- •3. Цикл Do While … Loop
- •4. Цикл Do Until … Loop
- •5. Цикл Do … Loop While
- •6. Цикл Do … Loop Until
- •7. Цикл While … Wend
- •Практическая часть
- •Лабораторная работа №9. Разработка приложений для обработки массивов
- •Теоретическая часть
- •1. Объявление массивов
- •2. Массивы с фиксированной границей и динамические массивы.
- •UBound (имяМассива [, измерение]) Практическая часть
- •Лабораторная работа №10. Разработка приложений с использованием методов рисованИя графических примитивов
- •Теоретическая часть
- •1. Графическая поверхность
- •2. Графические примитивы
- •Практическая часть
- •Лабораторная работа №11. Построение графиков и диаграмм
- •Лабораторная работа №12. Применение пользовательских диалоговых окон
- •Теоретическая часть
- •1. Окно и функция InputBox
- •2. Окно MsgBox
- •MsgBox Текст сообщения [,Константа] [,Заголовок]
- •3. Функция MsgBox()
- •Практическая часть
- •Лабораторная работа №13. Разработка компьютерного теста с использованием Visual Basic
- •Теоретическая часть
- •Лабораторная работа №14. Создание пользовательского меню и панели инструментов
- •Теоретическая часть
- •Call Имя процедуры ([Список Параметров Вызова]),
- •Практическая часть
- •Лабораторная работа №15. Создание текстового редактора
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №16. Разработка мультимедиа-приложений
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №17. Макросы: запись, запуск, чтение
- •Теоретическая часть
- •Обычно макрос содержит следующие элементы.
- •Практическая часть
- •Лабораторная работа №18. Создание форм рабочего листа
- •Теоретическая часть
- •1. Когда необходимо использовать vba в Excel
- •2. Объект Application
- •3. Объект Workbook
- •4. Объект Worksheet
- •5. Объект Range
- •Инициализация и отображение диалогового окна
- •Практическая часть Создание пользовательской формы
- •Создание пользовательской формы
- •Практические задания по программированию на vba
- •Лабораторная работа №19. Создание книги лабораторных работ с автоматизированным выбором страниц книги
- •Практическая часть
- •Лабораторная работа №20. Моделирование процессов
- •Теоретическая часть
- •Лабораторная работа №21. Создание сводных таблиц в vba
- •Теоретическая часть Практическая часть
- •Лабораторная работа №22. Работа с компонентом Chart
- •Теоретическая часть Практическая часть
- •Лабораторная работа №23. Работа с базами данных в Visual Basic
- •Теоретическая часть Практическая часть
- •Лабораторная работа №24. Работа с базами данных в Excel с использованием Visual Basic
- •Теоретическая часть Практическая часть
- •Лабораторная работа №25. Обработка данных на рабочем листе Теоретическая часть Практическая часть
Лабораторная работа №19. Создание книги лабораторных работ с автоматизированным выбором страниц книги
Цель работы: рассмотреть компоненты Animation, MMControl и их свойства; научиться создавать мультимедийные приложения с использованием компонента Animation и MMControl
Практическая часть
Задание 1. Автоматизированное заполнение ячеек таблицы
Ручное заполнение ячеек таблицы какими-либо значениями является достаточно неэффективным в ряде случаев, например, при вычислении значений функции f(x), которые зависят от x. В этом случае удобно прибегнуть к помощьюVBA, создав определенные элементы управления, включив их в структуру книги и назначив им обработку определенных событий.
Постановка задачи.
С
оздать
кнопку, при нажатии на которую заполняется
таблицы значений аргумента. Аргумент
X изменяется
в заданном диапазоне [X0,
XK]
с приращением Dx.
Ход работы.
Создайте папку с названием «Лабораторная_работа_№19».
Запустите MS Excel.
Перейдите на Лист 2.
Переименуйте Лист 2, присвоив ему название «Заполнение».
Включите панель инструментов «Элементы управления», щелкнув в области панелей инструментов правой клавишей мыши и выбрав соответствующую команду «Элементы управления», либо с помощью пункта меню Вид → Панели инструментов.
На панели инструментов «Элементы управления» включите кнопку «Режим конструктора»
.
Нарисуйте командную кнопку на листе 2 («Заполнение»).
Щелкните правой клавишей мыши на кнопке и выберите Свойства. Отобразится окно Properties (Рис.19.1).
Измените свойство Caption (Заголовок) на «Заполнить».
Изучите таблицу 19.1 «Свойства компонента Command Button» и установите свойства расположенной кнопки в соответствии с Таблицей 19.2 «Свойства кнопки «Заполнить».
Таблица 19.1
Свойства компонента Command Button
Свойство |
Значение |
Caption |
Заголовок |
Name |
Имя объекта |
Продолжение таблицы 19.1
Свойство |
Значение |
BackColor |
Цвет фона |
Width |
Ширина |
Height |
Высота |
AutoSize |
Авторазмер |
ForeColor |
Цвет текста |
Visible |
Видимость |
Font |
Шрифт |
Таблица 19.2
Свойство |
Значение |
Caption |
Заполнить |
BackColor |
&H80000001& |
ForeColor |
&H000000FF& |
Font |
Courier New, 10, жирный |
Выполните двойной щелчок по кнопке. Откроется окно программного кода (Рис.19.2).
Введите между строк процедуры следующие операторы и комментарий:
Private Sub CommandButton1_Click()
Dim X0, Xk, Dx, X As Double
'X0 - начальное значение X
'Xk - конечное значение X
'Dx - шаг изменения значения X
'X - аргумент X
Dim i As Integer 'переменная-счетчик
Set sht = Worksheets("Заполнение") 'Программное имя листа, на котором
'будут выполнены изменения
sht.Range("A:D").Clear 'Очищаем столбцы на листе sht
sht.Range("A1") = "N" 'Присваиваем название заголовку ячейки A1
sht.Range("B1") = "X" 'Присваиваем название заголовку ячейки B1
sht.Range("C1") = "Y" 'Присваиваем название заголовку ячейки C1
X0 = Val(InputBox("Введите значение X0:", "X0", "0")) 'запрос значения X0
Xk = Val(InputBox("Введите значение Xk:", "Xk", "0")) 'запрос значения Xk
Dx = Val(InputBox("Введите значение Dx:", "Dx", "0")) 'запрос значения Dx
X = X0 'Присваиваем начальное значение аргументу X
i = 2 'значение индекса, указывающего номер строки,
'с которой нужно начинать заполнение
Do While X <= Xk 'начинаем цикл формирования столбца значений X
sht.Cells(i, 1) = i - 1 'в ячейку i 1-го столбца записываем номер строки
sht.Cells(i, 2) = X 'в ячейку i 2-го столбца записываем значение X
X = X + Dx 'берем следующее значение X
i = i + 1 'переходим в следующую строку
Loop 'конец цикла формирования столбцов № и X
MsgBox "Всего в таблице " + CStr(i - 2) + " строк"
End Sub
Закройте окно программы Visual Basic.
Выйдите из режима конструктора, нажав соответствующую кнопку на панели инструментов «Элементы управления».
Сохраните созданную программу в папке под именем ЛР 19.xls.
Проверьте работоспособность написанной программы, нажав на кнопку «Заполнить».
Добавьте в процедуру команду, обеспечивающую также вывод значения функции Y (любой, например, Y=X2), зависящего от аргумента X.
Сохраните введенные изменения.
Перейдите на Лист 3 для выполнения следующей части лабораторной работы.
Задание 2. Построение поверхности функции
Постановка задачи.
Построить поверхность функции Z=X2+Y2-1.
Ход работы.
Переименуйте Лист 3 в лист «Поверхность».
Объедините ячейки A1 – J1.
В объединенную ячейку введите название «Поверхность функции Z=X2+Y2-1».
В ячейке A2 введите текст «Y \ X». Это показывает, что в данном столбце A вниз располагаются значения аргумента Y, а в горизонтальной строке 2 располагаются значения аргумента X.
Для формирования строки значений X:
- в ячейку B2 введите начальное значение аргумента X, равное «-1», в ячейку C2 – значение «-0,75»;
- выделите ячейки B2 и C2;
- переместите указатель мыши в правый нижний угол ячейки C2 и протяните указатель мыши до ячейки J2; ячейки должны заполниться значениями от -0,5 до 1.
Выполнив аналогичные действия, заполните ячейки столбца A от A3 до A7 значениями аргумента Y, изменяющегося от -1 до +1 с шагом 0,5.
Введите в ячейку B3 формулу:
=B$2^2+$A3^2-1
Здесь используется ссылка, абсолютная по строке B, а также ссылка, абсолютная по столбцу 2.
З
аполните ячейки таблицы от B3 до J7. Созданная таблица значений функции Z показана на Рис.19.3.
О
тформатируйте таблицу по своему вкусу, настроив вид границ, параметры шрифта.
Для построения поверхности функции Z выделим ячейки в диапазоне от B3 до J7, содержащие таблицу значений функции.
Щелкните на панели инструментов кнопку «Мастер диаграмм»
.
В открывшемся окне (Рис.19.4) выберите тип диаграммы «Поверхность», выберите ее вид по своему усмотрению и нажмите кнопку «Далее».
В окне источника данных диаграммы (Рис.19.5) выполняем следующие действия:
- на вкладке «диапазон данных» проверяем соответствие диапазона ячеек, выбранных для построения диаграммы, выделенному диапазону ячеек;
-
из двух переключателей «Ряды в: строках,
столбцах» выбираем вариант, позволяющий
получить наиболее наглядный вариант
диаграммы; на Рис.19.5 выбран переключатель
«в строках»;
- на вкладке «Ряд» выбираем последовательно строки «Ряд1», «Ряд2» и т.д.;
- каждой выбранной строке присваиваем «Имя»; для этого щелкаем по кнопке в правом конце поля ввода «Имя» и щелкаем на ячейке со значением аргумента, соответствующим выбранному ряду данных; в данному случае для «Ряд1» нужно щелкнуть на ячейке A3, т.к. мы указали, что данные находятся в строках, а это значения аргумента Y;
-
для подписи значений по оси X
щелкните по кнопке в правом конце поля
«Подписи оси X»,
и выделите ячейки с B2 по
J2, т.к. подписи по оси X
– это значения аргумента X;
результат на Рис.19.6;
- нажмите на кнопку «Далее».
В следующем окне задаем подписи осей (Рис.19.7) и параметры отображения основных и дополнительных линий осей (Рис.19.8).
На последнем шаге указываем расположение диаграммы (На имеющемся листе) (Рис.19.9).
Р
езультат представлен на Рис.19.10.
Постройте вторую диаграмму данной поверхности, но в качестве источника данных укажите данные в столбцах. Примерный результат представлен на рис.19.11.
Перейдите на Лист 1 для выполнения следующего, заключительного задания лабораторной работы №19.
Задание 3. Создание элементов управления и включение их в структуру книги
Постановка задачи.
Для оформления книги с набором лабораторных работ.
Х
од
работы.
Переименуйте Лист 1 в лист «Оглавление».
В верхней части листа «Оглавление» с помощью приложения WordArt создайте заголовок, как, например, на Рис.19.12.
Включите панель инструментов «Элементы управления», щелкнув в области панелей инструментов правой клавишей мыши и выбрав соответствующую команду «Элементы управления», либо с помощью пункта меню Вид → Панели инструментов (если она у Вас выключена).
На панели инструментов «Элементы управления» включите кнопку «Режим конструктора».
Нарисуйте 2 командных кнопки на листе «Оглавление».
Задайте свойству Caption кнопок названия «На лист «Заполнение» и «На лист «Поверхность» соответственно.
Также измените свойства кнопок такие, как BackColor, Font и т.п. Примерный вид приложения приведен на Рис.19.12.
Выполните двойной щелчок по компоненту CommandButton1.
В открывшемся окне программы введите следующий программный код с комментариями:
Private Sub CommandButton1_Click()
Sheets("Заполнение").Select 'Переход на лист "Заполнение"
End Sub
Private Sub CommandButton2_Click()
Sheets("Поверхность").Select 'Переход на лист "Поверхность"
End Sub
Выйдите из редактора Visual Basic и проверьте работоспособность написанных процедур (не забудьте выполнить выход из режима конструктора, нажав на соответствующую кнопку на панели инструментов «Элементы управления»).
Сохраните изменения в файле.
На листах «Заполнение» и «Поверхность» добавьте кнопки «На оглавление», снабдив их соответствующей процедурой.
Подведем итоги
В работе были использованы новые
объекты:
Sheets – листы
Поверхность – тип диаграммы
Columns – столбцы
методы:
Select (выделение указанной ячейки)
Clear (очистка указанной области)
Set (принять, взять, получить указанное выражение)
функции и выражения:
Val (перевод строковых переменных и данных в численное выражение)
InputBox("") (диалоговое окно)
MsgBox (диалоговое окно сообщения)
Do While …Loop (циклический оператор «Выполнять, пока…»)
свойства:
BackColor (цвет фона, цвет кнопки)
Caption (заголовок, название)
Font (настройки шрифта)
Задания для самостоятельного выполнения
Создайте книгу с подобными примерами лабораторных работ по номеру своего варианта (Таблица 19.3, 19.4).
Таблица 19.3
Варианты заданий для автоматизированного заполнения ячеек таблицы
-
1.
Y = A*X2 + B*X+ sin(X)
11.
Y = cos2(B*X) + A*cos(X) + X
2.
Y = sin2(A*X) + cos2(B*X) + AX
12.
Y = B*X + e(B*X) + AX
3.
Y = AX + B*sin(X) – cos2(B*X)
13.
Y = sin2(A*X) – B*cos(X) – e(B*X)
4.
Y = B*X2 + sin2(A*X) – sin(X)
14.
Y = AX + B*cos2(X) – A*X
5.
Y = cos2(A*X) + e(B*X) – A*X2
15.
Y = cos(A*X+B) – A*X + e(B*X)
6.
Y = sin(A*X) – A*X + B*X2
16.
Y = sin2(A*X) – B*X + A*X3
7.
Y = sin2(A*X) – e(B*X) + B*X3
17.
Y = A*cos(X) + AX + B*cos2(X)
8.
Y = cos2(B*X) + B*X2 + AX
18.
Y = e(B*X) + B*X2 + cos(X)
9.
Y = e(B*X) + A*X2 – B*X3
19.
Y = sin2(A*X) – B*X2 – A*X3
10.
Y = sin2(B*X) – A*X3 + B*X2
20.
Y = A*cos2(B*X) + e(B*X) + A*cos(X)
Таблица 19.4
Варианты заданий для построения поверхности функции
-
1.
Z = X2 + Y2/2
11.
Z = |X + Y| * e(X*Y)
2.
Z = X*Y + sin(X*Y)
12.
Z = sin(X + Y) * e(X*Y)
3.
Z = sin(X)*Y + X*cos(Y)
13.
Z = sin(X)*cos(Y) * e(X*Y)
4.
Z = X2 + eX * Y4
14.
5.
Z = sin(X+Y) + X2
15.
Z = cos(X*Y) – (2*X2 – Y2)
6.
Z = 2*X2 – 3*Y2
16.
Z = (X2 + Y2)*cos(Y) e(X*Y)c
7.
Z = X2 + X*Y + Y2
17.
Z = e(X*Y) – cos(X2 + Y2)
8.
Z = sin(X) * cos(Y) + X*Y
18.
Z = sin(X – Y) * |X2 + Y|
9.
19.
Z = |sin(X*Y)| + e(X+Y)
10.
Z = sin(X*Y) + cos(X*Y)
20.
Z = cos(X*Y)2 + sin(X*Y)2
Вопросы для контроля