- •Информатика Сборник лабораторных работ по программированию в среде Visual Basic for Applications
- •Содержание
- •Введение
- •Лабораторная работа №1. Vba. Основные понятия. Среда разработки. Основы пРоГраммирования. Переменные
- •Среда программирования vba
- •Основы программирования на vba
- •Переменные
- •Математические операторы
- •Контрольные вопросы
- •Лабораторная работа №2. Диалоговые окна
- •Лабораторная работа № 3. Разветвляющиеся алгоритмы
- •1. Операторы условия if...Then
- •1.1 Строчный оператор If…Then…Else
- •1.2 Блочный условный оператор
- •1.3 Вложенные операторы If
- •1.4 Логические операции
- •2. Безусловный переход GoTo
- •3. Оператор выбора – переключатель
- •5. Задачи для самостоятельного решения!
- •Лабораторная работа № 4. Циклы со счетчиком
- •Лабораторная работа № 5. Циклы с условием
- •1. Циклы с предусловием
- •2. Цикл с постусловием
- •3. Цикл For Each … Next
- •4. Задания к лабораторной работе
- •5. Контрольные вопросы
- •Лабораторная работа № 6. Работа с формами. Создание интерактивных программ.
- •Примеры создания программ для работы с объектами окна диалога
- •Кнопка на рабочем листе создается с помощью Панели инструментов Формы (Элементы управления). Макрос назначается двойным щелчком левой кнопки мыши или с помощью контекстного меню.
- •Варианты для самостоятельных работ:
- •Литература
4. Задания к лабораторной работе
1. Заполните данными несколько строк таблицы:
Месяц |
Выпуск продукции в млн. руб. |
Процент выполнения плана |
|
План |
Факт |
||
январь |
12,5 |
12,4 |
|
. . . |
|
|
|
Составить блок-схему и программу для заполнения в таблице графы Процент выполнения плана (факт/план). В клетках, где процент выполнения плана больше 100%, изменить цвет шрифта на красный (ColorIndex =3).
В программе использовать цикл с предусловием, анализируя пустая или нет клетка в графе месяц.
2. В банке открыт счет. Банк ежегодно начисляет фиксированный процент от вклада. Соответственно увеличивается сумма вклада. Составить программу, которая рассчитывает величину вклада и выводит эту величину для каждого года, пока величина вклада не увеличится вдвое. Для решения этой задачи предусмотреть клетки для ввода первоначальной величины вклада, учетной ставки процента от вклада, года помещения вклада в банк, а также для вывода года, когда сумма первоначального вклада удвоится.
3. В клетке А2 на Листе1 записаны фамилия, имя и отчество сотрудника (например, Попова Анна Николаевна). В клетку А2 на Лист2 переписать только фамилию сотрудника.
Составить блок-схему и программу для этой задачи, используя цикл с постусловием. Фамилия, имя и отчество отделяются символом «пробел». В программе рекомендуется использовать функцию обработки строк – MID(Строка, НачЗнач, Длина).
Примечание. Функция MID(Строка, НачЗнач, Длина) возвращает часть Строки, начиная от символа с позиции НачЗнач, и содержащую количество символов, равное значению Длина. В качестве Строки можно использовать адрес клетки, содержащей строковое значение.
4. Усложним задание 2. В несколько смежных клеток любого столбца на Листе1 введем фамилии, имя и отчество сотрудников. Выделим эти клетки. Программа должна из выделенного блока клеток выделить только фамилии и сформировать список фамилий на Листе2 в столбце А, начиная с клетки А2.
5. Контрольные вопросы
Чем отличаются циклы с неизвестным числом повторений от циклов со счетчиком?
Есть ли в циклах с предусловием и постусловием переменная цикла?
В чем заключается принципиальное отличие цикла с предусловием от цикла с постусловием?
Когда рекомендуется использовать цикл For Each … Next?
Чем отличаются циклы Do While …и Do Until…? Как это отличие отражается на блок-схеме?
Что значит досрочный выход из цикла (прерывание цикла)? Как он реализуется в различных типах циклических операторов?
Что такое <элемент> в операторе For Each?
Является ли <элемент> в операторе For Each элементом <группы> этого оператора?
Когда завершает свою работу цикл For Each?
Лабораторная работа № 6. Работа с формами. Создание интерактивных программ.
Работа любой программы подразделяется на 3 этапа: ввод информации, обработка информации и вывод результатов.
Ввод информации часто осуществляется с помощью клавиатуры и мыши.
Чтобы организовать взаимодействие человека и программы, используются разнообразные экранные формы.
Примером таких форм служат диалоги в программах VBA.
Создать окно диалога можно двумя способами.
1 способ: С помощью контекстного меню на ярлыке листа выберите команду ИСХОДНЫЙ ТЕКСТ. В появившемся окне выберите команду ВСТАВКА - UserForm.
2 способ: Выберите команду СЕРВИС - МАКРОС - РЕДАКТОР VisualBasic и далее ВСТАВКА - UserForm.
В созданном окне диалога пользователь размещает элементы окна (объекты), используя Панель элементов. Выбор объекта и его расположение осуществляется с помощью левой кнопки мыши.
Состав Панели элементов
-
Название элемента
Имя в программе
Надпись
Label
Поле
TextBox
Рамка
Frame
Кнопка
CommandButton
Поле со списком
ComboBox
Флажок
CheckBox
Переключатель
OptionButton
Список
ListBox
Полоса прокрутки
ScrollBar
Счетчик
SpinButton
Существуют и другие элементы.
В программе все имена объектов имеют номер. Например, если создать в окне диалога флажок, то его имя в программе будет CheckBox1.
Надпись Используется для создания текстовых вставок в окне.
Поле Используется для ввода(вывода) текста.
Рамка Обеспечивает объединение нескольких элементов диалогового окна в группу.
Кнопка Командная кнопка, которой назначается процедура или макрос.
Поле со списком Представляет собой комбинацию выпадающего списка.
Флажок Обеспечивает аддитивный выбор значения. Свойство Value принимает значение True, если флажок выбран и False – в противном случае.
Переключатель Обеспечивает альтернативный выбор из списка взаимоисключающихся опций. Такие переключатели входят в состав группы, если они различны по назначению. Выбор одного переключателя внутри группы означает автоматический не выбор других. Свойство Value принимает значение True, если переключатель выбран и False – в противном случае.
Список Представляет собой окно, содержащее список значений.
Полоса прокрутки Создает горизонтальную или вертикальную линейку прокрутки. Свойство Value содержит число, соответствующее положению ползунка. Свойства Min и Max управляют диапазоном значений.
Счетчик Регулятор счетчика (спиннер) аналогичен линейке прокрутки.
