Лабораторная 3. Лабораторная работа 4 з. Лабораторная работа 4 vba визуальное программирование
Скачать 0.58 Mb.
|
1 Лабораторная работа № 4 VBA : ВИЗУАЛЬНОЕ ПРОГРАММИРОВАНИЕ Цель работы: изучить основы визуального программирования в среде про- граммирования Visual Basic for Applications (VBA). Задачи работы 1. Изучить: основные свойства объектов UserForm, CommandButton, Label, TextBox; основные возможности среды программирования VBA. 2. Научиться: создавать пользовательские формы; размещать на форме объекты CommandButton, Label, TextBox и работать с ними. Перечень обеспечивающих средств Задания лабораторной работы выполняются в программном обеспечении MS Office 2013 и выше. Общие теоретические сведения Visual Basic for Applications (VBA, Visual Basic для приложений) – упрощен- ная реализация языка программирования Visual Basic, встроенная в линейку про- дуктов Microsoft Office, а также во многие другие программные пакеты, такие как AutoCAD, SolidWorks, CorelDRAW, WordPerfect и ESRI ArcGIS. В предыдущих лабораторных работах исходные данные, результат и эле- менты управления программой были размещены на листе Excel. В среде про- граммирования также можно разработать графический пользовательский интер- фейс в виде одной или нескольких форм и поместить на них различные объекты. Создание форм, других объектов и работа с ними в среде программирования VBA начинается с создания файла в офисном пакете MS Office. В наших примерах 2 мы будем работать в файле MS Excel. Разработанная программа сохраняется в Книге Excel с поддержкой макросов в формате xlsm. Далее открываем редактор Visual Basic, нажав на кнопку Visual Basic на вкладке Разработчик на ленте. Слева в редакторе находится блок Project (Проект). Каждая открытая элек- тронная книга представляет собой отдельный VBA-проект. Проект имеет иерар- хическую структуру. В разделе Microsoft Excel Object находятся два объекта: Лист1 и ЭтаКнига (рис. 1). Рис. 1. Окно Project Создадим программу, вычисляющую сумму двух чисел. Сначала разработаем графический интерфейс программы, затем напишем программный код. Основой графического интерфейса программы является форма. Форма – это пустая заготовка диалогового окна приложения. Чтобы добавить в проект форму нужно в меню Insert выбрать команду UserForm. В результате название формы появится в окне Project, в средней части окна VBA будет показана созданная форма. Снизу, справа и в правом нижнем углу у формы есть маркеры для изме- нения ее размера. После создания формы в проекте VBA появится раздел Forms (формы). Также появится окно Toolbox, с помощью которого можно добавлять другие объекты на форму. Если окно Toolbox не отображается, его можно вызвать, нажав на кнопку Toolbox на панели инструментов (рис. 2). 3 Рис. 2. Созданная форма UserForm и окно Toolbox У каждого объекта есть свойства. Чтобы установить или изменить свойства нужно вызвать окно Properties. Это можно сделать с помощью контекстного меню объекта или с помощью кнопки Properties Window на панели инструмен- тов. Рассмотрим основные свойства формы. 1. (Name) – имя (название) формы, которое используется в программном коде. 2. Caption – заголовок формы (находится в верхней части формы). 3. Height – высота формы (в пикселях). 4. Width – ширина формы (в пикселях). Установим для формы следующие свойства: – свойство (Name) оставим без изменения: UserForm1; – свойство Caption: первая программа; – свойство Height: 200; – свойство Width: 300. Ввод исходной информации можно организовать с помощью системного диалогового окна и функции InputBox или c помощью объекта TextBox (Тексто- вое поле). 4 Вывод информации можно организовать с помощью системного диалого- вого окна и функции MsgBox или c помощью объекта Label (Метка). В первом случае используем функции InputBox и MsgBox для ввода и вывода данных. Добавим на форму кнопку, нажав на кнопку CommandButton в окне Toolbox и нажав мышью в нижней части формы. Установим для кнопки следующие свойства: – свойство (Name): Button1; – свойство Caption: Вычислить сумму; – свойство Height: 25; – свойство Width: 100; – свойство Left: 100; – свойство Top: 130. Мы создали графический интерфейс (рис. 3). Рис. 3. Разработанный графический интерфейс Далее два раза нажимаем на кнопку и переходим в окно редактора про- граммного кода. Программный код возьмем мы уже подробно разбирали в одной из предыдущих работ. Запишем его (рис. 4). 5 Рис. 4. Программный код Запустим созданную программу на выполнение, нажав на кнопку Run Sub/UserForm на панели инструментов или клавишу F5 на клавиатуре. Работа программы показана на рис. 5–8. Рис. 5. Запуск программы на выполнение Рис. 6. Ввод первого числа 6 Рис. 7. Ввод второго числа Рис. 8. Вывод результата Изменим нашу программу так, чтобы для ввода данных использовать тек- стовые поля, а для вывода данных и пояснительных надписей – метки. Вернемся к форме и добавим на нее 4 объекта Label и 2 объекта TextBox (рис. 9). Рис. 9. Добавление на форму объектов Label и TextBox 7 Изменим свойства объектов: – у объекта Label1 свойство Caption: Число 1; – у объекта Label2 свойство Caption: Число 2; – у объекта Label3 свойство Caption: Результат; – у объекта Label4 свойство Caption: пустое. Изменим программный код из прошлого примера. В переменной num_First значение первого числа будет сохранено из объекта TextBox1. Аналогично в переменной num_Second значение второго числа будет сохранено из объекта TextBox2. Для этого используется свойство Text. Программный код представлен на рис. 10. Рис. 10. Программный код Запустим программу на выполнение. Введем исходные данные в текстовые поля и нажмем на кнопку (рис. 11). Рис. 11. Запуск программы на выполнение 8 Задания Задание 1. Написать программу для решения математической задачи со- гласно варианту. В программном коде должны быть комментарии. В первом ком- ментарии укажите номер варианта. Создать форму, разместить на ней кнопку, текстовые поля (для ввода исход- ных данных) и метки (для вывода пояснений и результата). Задать следующие свойства объектов: – у объекта UserForm свойство (Name): UserForm_n, где n – порядковый номер первой буквы фамилии обучающегося; – у объекта UserForm свойство Caption: слово «Выполнил(а)» (без кавычек) и добавить свою фамилию; – у объекта UserForm свойства Height и Width задать произвольно; – у объектов Label и TextBox свойства задать произвольно в зависимости от условий задачи; – у объекта CommandButton свойство (Name): CommandButton_n, где n – но- мер варианта; – у объекта CommandButton свойство Caption: слово «Вычислить» (без ка- вычек). Для числа 𝜋 использовать функцию рабочего листа WorksheetFunction.Pi. Для вычисления квадратного корня использовать функцию sqr. 1. Дана площадь круга. Найти длину окружности, ограничивающей этот круг. 2. Вычислить медианы треугольника со сторонами a, b, c по формулам: 𝑚 𝑎 = 0,5√2𝑏 2 + 2𝑐 2 − 𝑎 2 ; 𝑚 𝑏 = 0,5√2𝑎 2 + 2𝑐 2 − 𝑏 2 ; 𝑚 𝑐 = 0,5√2𝑏 2 + 2𝑏 2 − 𝑐 2 ; 3. Вычислить площадь круга и длину окружности по введенному значению радиуса. 9 4. Вычислить площадь S и периметр L эллипса по введенным значениям полуосей a и b: 𝑆 ≔ 𝜋 ∙ 𝑎 ∙ 𝑏; 𝐿 = 2 ∙ 𝜋 ∙ √ 1 2 (𝑎 2 + 𝑏 2 ). 5. Дано целое четырехзначное число. Используя операции div и mod, найти сумму его цифр. 6. Вычислить объем V и площадь боковой поверхности цилиндра S по вве- денным значениям радиуса основания R и высоты цилиндра H. 𝑉 = 𝜋 ∙ 𝑅 2 ∙ 𝐻; 𝑆 = 2 ∙ 𝜋 ∙ 𝑅 ∙ 𝐻. 7. Вычислить объем V и площадь поверхности S сферы по введенному зна- чению радиуса r: 𝑉 = 4 3 ∙ 𝜋 ∙ 𝑟 3 ; 𝑆 = 4 ∙ 𝜋 ∙ 𝑟 2 8. Дана сторона равностороннего треугольника. Найти площадь этого тре- угольника и радиусы вписанной и описанной окружностей. 9. Даны координаты трех вершин треугольника (x 1 , y 1 ), (x 2 , y 2 ), (x 3 , y 3 ). Найти его периметр и площадь. 10. Дана длина окружности. Найти площадь круга, ограниченного этой окружностью. Задание 2. Написать программу для решения математической задачи со- гласно варианту. В программном коде должны быть комментарии. В первом ком- ментарии укажите номер варианта. Создать форму, разместить на ней кнопку, текстовые поля (для ввода исход- ных данных) и метки (для вывода пояснений и результата). Задать следующие свойства объектов: – у объекта UserForm свойство (Name): UserForm_n+1, где n – порядковый номер первой буквы фамилии обучающегося; 10 – у объекта UserForm свойство Caption: слово «Выполнил(а)» (без кавычек) и добавить свою фамилию; – у объекта UserForm свойства Height и Width задать произвольно; – у объектов Label и TextBox свойства задать произвольно в зависимости от условий задачи; – у объекта CommandButton свойство (Name): CommandButton_n+1, где n – номер варианта; – у объекта CommandButton свойство Caption: слово «Вычислить» (без ка- вычек). 1. Найти произведение вычисленных площадей трех параллелограммов. 2. Возвести в куб вычисленные объемы двух цилиндров. 3. Найти сумму вычисленных площадей трех прямоугольников. 4. Вычислить значение квадрата произведения площадей трех овалов. 5. Найти произведение вычисленных площадей трех кругов. 6. Найти сумму вычисленных объемов двух шаров. 7. Найти произведение вычисленных площадей трех ромбов. 8. Найти квадрат суммы вычисленных гипотенуз трех треугольников. 9. Найти сумму кубов объемов трех цилиндров. 10. Возвести в квадрат произведение площадей трех трапеций. Контрольные вопросы 1. В чем назначение окна Project? 2. Перечислите основные свойства объекта UserForm. 3. Перечислите основные свойства объекта TextBox. 4. Какие объекты можно использовать для ввода и вывода данных? Содержание отчета 1. Титульный лист 2. Цель работы. 3. Номер варианта. 11 4. Формулировка задания. 5. Скриншоты разработанного интерфейса программ, программного кода и процесса работы программы с несколькими наборами исходных данных (в зави- симости от условий в задаче). 6. Ответы на контрольные вопросы. 7. Общий вывод о проделанной работе. |