- •Лабораторный практикум по информатике для студентов очной формы обучения
- •Часть 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.
Vba7. Сортировка чисел в столбце по возрастанию или убыванию с созданием формы и панели инструментов с кнопкой
В предыдущих работах, посвященных созданию формы, запуск программы выполнялся с помощью кнопки размещенной на листе Excel. Целью этой работы является создание панели инструментов с кнопкой для выполнения программы.
1. Создайте панель инструментов и разместите на ней кнопку. Панель инструментов должна появляться при открытии рабочей книги. В окне редактора Visual Basic выберите лист ThisWorkBook и включите в него следующие две процедуры:
1) Процедура создания новой панели инструментов при открытии рабочей книги
Private Sub Workbook_WindowActivate(ByVal Wn As Excel.Window)
'Создание новой панели инструментов
With Application.CommandBars.Add(Name:="Моя панель инструментов", _
Position:=msoBarTop, MenuBar:=False, Temporary:=True)
.Visible = True
With .Controls
'Создание кнопки с надписью
With .Add(Type:=msoControlButton, Id:=1) 'добавить кнопку на панель инструментов
.Caption = "Сортировка" 'надпись на кнопке
.TooltipText = "Сортировка" 'всплывающая подсказка
.Style = msoButtonCaption
.OnAction = "Sort" 'при нажатии на кнопку выполняется процедура
End With
End With
End With
End Sub
2) Процедура, удаления созданной панели инструментов при закрытии приложения
Private Sub Workbook_WindowDeactivate(ByVal Wn As Excel.Window)
With Application
.CommandBars("Моя панель инструментов").Delete
End With
End Sub
В результате будет создана панель инструментов с кнопкой Сортировка (см. Рис).
2. Добавьте модуль через пункт меню Вставка/Модуль и введите процедуру Sort для отображения формы на экране.
Sub Sort()
UserForm1.Show
End Sub
3. В окне редактора создайте форму, разместите на ней требуемые элементы управления и установите свойства (см. Рис. на следующей стр.).
4. Напишите процедуры, связанные с формой, а также процедуру UserForm_Initialize (задание значений по умолчанию).
Private Sub UserForm_Initialize() ' Процедура инициализации формы
OB1.Value = True
OptionButton1.Value = True
SB1.Min = 1
SB1.Max = 100
TB1.Value = SB1.Value
SB2.Min = 1
SB2.Max = 100
TB2.Value = SB2.Value
E nd Sub
5. Напишите процедуры сортировки. Сортировка выбором заключается в том, что требуется найти элемент массива, имеющий наименьшее значение и переставить его с первым элементом, затем проделать то же самое, начав со второго элемента.
9. Самостоятельные и контрольные задания Задание 1
Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.
П усть x1=y1=1; xi=0.3xi-1; yi=xi-1+yi-1, i=2,3,… Дано натуральное n. Найти
Даны целые числа а1, а2, а3. Получить целочисленную матрицу [bij] i, j=1,2,3, для которой bij=ai-3aj.
Задание 2
Даны 3 действительных числа a, b, c (a0). Полностью исследовать квадратное уравнение ax2+bx+c=0, т.е. если действительных корней нет, то должно быть выведено сообщение об этом, иначе должны быть найдены и помещены в текстовые поля 2 корня.
Пусть a0=1; ak=kak-1+1/k; k=2,3,… Дано натуральное n. Получить an.
Дана действительная матрица размера m x n. Определить числа b1,b2,…,bm, равные соответственно:
а) суммам элементов строк;
б) произведением элементов строк;
в) наименьшим значениям элементов строк;
г) значениям средних арифметических элементов строк;
д) разностям наибольших и наименьших значений элементов строк.