- •Лабораторный практикум по информатике для студентов очной формы обучения
- •Часть II. Visual Basic for Applications
- • Иркутский государственный технический университет, 2002
- •664074, Иркутск, ул. Лермонтова, 83
- •Введение
- •Создание интерфейса пользователя
- •Элементы управления
- •2. Основные понятия
- •3. Редактор vba
- •4. Работа с переменными, массивами, константами и со свойствами объектов
- •5. Основные инструкции языка Visual Basic
- •Арифметические операции
- •6. Создание пользовательских форм
- •7. Отладка приложений
- •Р ис. 4. Окно контрольного значения
- •8. Лабораторные работы
- •Vba1. Создание простейшего интерфейса. Калькулятор
- •Vba2. Разветвления
- •Vba3. Переменные, процедуры, функции, циклы, массивы
- •Vba4. Сортировка чисел в столбце по возрастанию или убыванию
- •Vba5. Сортировка чисел в столбце по возрастанию или убыванию с созданием формы
- •Vba6. Создание приложения для вычисления многочленов
- •Vba7. Сортировка чисел в столбце по возрастанию или убыванию с созданием формы и панели инструментов с кнопкой
- •9. Самостоятельные и контрольные задания Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Разработка приложения “Решение системы линейных уравнений”
- •2. Разработка приложения “Статистический анализ данных”
- •Разработка приложения “Решение треугольника”
- •Разработка приложения “Определение площади произвольной фигуры”
- •Разработка приложений “Графические построения в плоскости xoy”
- •Разработка приложения “Вычисление определенного интеграла”
- •Интегрирование по методу прямоугольников
- •Интегрирование по методу трапеций
- •Метод Симпсона (парабол)
- •Решение нелинейных уравнений
- •Определение границ существования корней
- •Отделение корней
- •Уточнение корней
- •8. Решение систем линейных алгебраических уравнений
- •По коэффициентам системы составляют расширенную матрицу
- •По элементам последней строки матрицы (1.2) можно найти значение
- •9. Приближенные методы решения систем алгебраических уравнений
- •10. Интерполяция функций, заданных таблично
- •11. Допольнительные курсовые работы для студентов горно-геологических специальностей
- •1. Вычисление координат замкнутого теодолитного хода
- •2. Разработка приложения “Прямая геодезическая задача”
- •3. Разработка приложения “Обратная геодезическая задача”
- •4. Разработка приложения “Преобразование географических координат в прямоугольные и прямоугольных в географические”
- •Литература к курсовой работе 4.
Vba5. Сортировка чисел в столбце по возрастанию или убыванию с созданием формы
Поместить на лист Excel кнопку CommandButton1 с тем же заголовком Сортировать, а остальные элементы управления и дополнительно кнопку Ok поместим на диалоговую форму с именем Dialog1 и заголовком Параметры сортировки. Для создания этой формы надо переключиться в окно Visual Basic и с помощью кнопки на панели инструментов или через пункт меню Вставка/UserForm создать пустую форму. Она появится в окне Visual Basic. При щелчке мышью по форме появляется также окно Панель элементов, содержащее палитру элементов управления. Теперь остается с помощью кнопки на панели инструментов раскрыть в окне Visual Basic еще окно свойств, установить свойства формы и разместить на ней требуемые нам элементы управления точно так же, как это было сделано на листе Excel (см. рисунок). Такой подход почти освободит лист Excel от элементов управления, но потребует дополнительных усилий при разработке приложения.
Во-первых, теперь в начало событийной процедуры CommandButton1_Click надо вставить команду для показа формы: Dialog1.Show. В этой инструкции записывается имя объекта (имя, присвоенное нами форме) и, через точку, имя метода – показать. Следовательно, как только пользователь нажмет командную кнопку на листе Excel, поверх этого листа появится диалоговое окно. В нем пользователь выберет параметры сортировки и нажмет кнопку Ok (см. второй рисунок, поясняющий эту работу).
Во-вторых, надо написать событийную процедуру для кнопки Ok. Эта процедура должна содержать команду Dialog1.Hide - скрыть форму Dialog1.
В-третьих, в процедурах, принадлежащих листу Excel, а не форме Dialog1, изменится обращение к свойствам элементов управления. Так, теперь надо писать не TextBox1.Value, а Dialog1.TextBox1.Value – так указывается свойство Value (значение) объекта TextBox1 (редактируемое поле), принадлежащего форме Dialog1.
Vba6. Создание приложения для вычисления многочленов
.
В ычислить многочлен пятой степени
и спользуя для вычислений экономичный алгоритм Герона:
На свободном рабочем листе создать командную кнопку с надписью Вычисление многочлена. В программный код кнопки вписать инструкцию UserForm1.Show.
Для добавления к проекту новой формы в окне редактора Visual Basic выполнить команду Вставка/UserForm.
Добавить необходимые элементы управления, используя панель элементов (см.рис.).
Оставаясь в редакторе Visual Basic, двойным щелчком левой кнопки мыши по форме вызвать ее программный код и перейти к разработке модуля.
Сначала опишите массив А, отведенный под коэффициенты многочлена, переменные x и S, не забывая о комментариях.
Dim A(5) ‘ массив для коэффициентов многочлена
Dim x ‘ переменная для значения аргумента
Dim S ‘ переменная для вычисленного значения многочлена.
Затем надо написать процедуры, назначенные полям ввода коэффициентов и аргумента. Следующий пример приведен для А(0):
Private Sub TextBox1_Change() ' ввод коэффициента a0
A(0) = TextBox1.Value
Next_Button.Enabled = True ‘ эта инструкция активизирует кнопку «Вычислить»
End Sub
Необходимо также написать событийную процедуру для кнопки Выход:
Private Sub Cancel_button_Click() ' кнопка "Выход"
Unload Me ‘по русски: «выгрузи меня»
End Sub
Кнопке Вычислить, имеющей имя Next_Button_Click( ), назначим следующую процедуру:
Private Sub Next_Button_Click() ' вычисление по схеме Горнера
S = A(0)
For I = 0 To 4 ' цикл For ... Next
S = S * x + A(I + 1)
Next I
TextBox8.Value = Str(S) ‘ функция Str присваивает переменной S строковый тип
End Sub
Предложенная форма может быть использована и при вычислении многочленов степени меньше пятой, если в соответствующие поля вводить нулевые значения коэффициентов. Возвратившись в Excel и щелкнув по командной кнопке Вычисление многочлена, протестируем созданную форму, вычисляя следующие многочлены:
1 )
2)
3)
Тестирование можно проводить и оставаясь в редакторе VBA (см. раздел 7 «Отладка приложений»).