2 семестр / Программирование на VBA
.pdf15 |
TextBox2.Text = CStr(y) 'Для вывода результата в поле, переводим число |
16 |
'в строковый формат при помощи функции CStr |
17End Sub
18Private Sub UserForm_Initialize() 'Процедура UserForm_Initialize конструирует
19 |
'форму до ее загрузки |
20 |
UserForm3.Caption= "Функцияy=sin(x)/(1+exp(x))" 'Инструкция устанавливает |
21 |
'текст, отображаемый в строке заголовка формы |
22Label1.Caption = "Аргумент" 'Инструкции задают видимые надписи
23Label2.Caption = "Значение функции" 'для объектов
24CommandButton1.Caption = "OK"
25TextBox2.Enabled = False 'Инструкция делает TextBox2 недоступным
26 |
'для пользователя |
27 |
End Sub |
Задание 6. Создайте форму, вычисляющую сложение, вычитание, умножение и деление двух чисел.
Для этого:
üвыберите команду Insert/UserForm (Вставка/UserForm);
üрасположите на форме следующие элементы управления (рис. 30):
TextBox1
TextBox2
Рис. 30
üформа создана, функция каждого элемента управления известна (имена:
Сложение – OptionButton1, Вычитание – OptionButton2, Умножение – OptionButton3, Деление – OptionButton4, Старт – Start, Label2 – Label2; Результат
иLabel2 – Font: начертание жирный, размер 10). Напечатайте код формы (листинг 23):
üЛистинг 23 – Код формы UserForm4
1Private Sub Start_Click()
2If OptionButton1 = True Then
3Label2.Caption = CStr(CDbl(TextBox1.Text) + CDbl(TextBox2.Text))
4ElseIf OptionButton2 = True Then
5Label2.Caption = CStr(CDbl(TextBox1.Text) – CDbl(TextBox2.Text))
6ElseIf OptionButton3 = True Then
7Label2.Caption = CStr(CDbl(TextBox1.Text) * CDbl(TextBox2.Text))
8ElseIf OptionButton4 = True Then
121
9 |
If TextBox2.Text = "0" Then |
10 |
MsgBox "Деление на ноль недопустимо" |
11 |
Exit Sub |
12End If
13Label2.Caption = Format(CStr(CDbl(TextBox1.Text) / _
14 |
CDbl(TextBox2.Text)), "0.00") |
15Else
16MsgBox "Укажите арифметическое действие"
17End If
18End Sub
Контрольные вопросы
1.Что такое объект UserForm?
2.Какие свойства имеет объект UserForm?
3.Каким образом можно менять свойства формы?
4.Перечислите события, возникающие при открытии и закрытии форм и при работе элементов управления.
122
Литература
1.Программирование в пакетах MS Office: учеб. пособие / С.В. Назаров, П.П. Мельников, Л.П. Смольников и др.; под ред. С.В. Назарова. – М.: Финансы и статистика, 2007. – 656 с.: ил.
2.Бернд Вайланд. Visual Basic 6 для детей: Пер. с нем. – М.: АО
«Интерэксперт», 2002. – 240 с.
3.Мэтью Харрис. Освой самостоятельно программирование для Microsoft Excel 2000 за 21 день.: Пер. с англ.: уч. пос. – М.: Издательский дом «Вильямс», 2000. – 880 с.: ил. – Парал. тит. англ.
4.Стив Каммингс. VBA для «чайников».: Пер. с англ.: – М.: Издательский дом «Вильямс», 2000. – 384 с.: ил. – Парал. тит. англ.
5.К. Гетц, М. Джилберт. Программирование в Microsoft Office. Полное руководство по VBA: пер. с англ. – К.: Издательская группа BHV, 2000. – 768 с.
123
СОДЕРЖАНИЕ |
|
Введение....................................................................................................................... |
3 |
Часть 1. Макросы и язык программирования VBA. Среда редактора Visual |
|
Basic .............................................................................................................................. |
5 |
Лабораторная работа № 1. Запись новых макросов в Excel. Выполнение |
|
макросов ....................................................................................................................... |
6 |
Часть 2. Редактирование простых макросов ....................................................... |
20 |
Лабораторная работа № 2. Использование инструмента Object Browser. |
|
Сохранение и перенос модулей как текстовых файлов. Написание новых |
|
макросов и процедур. Сообщения об ошибках во время написания, |
|
редактирования или выполнения процедуры. Печать исходного кода................... |
20 |
Часть 3. Типы данных, переменные и константы. Выражения в Visual |
|
Basic. Использование функций Visual Basic......................................................... |
38 |
Лабораторная работа № 3. Обзор типов данных VB. Переменные и константы. |
|
Совместимость типов данных. Оператор присваивания. Арифметические и |
|
логические операторы. Встроенные функции.......................................................... |
38 |
Часть 4. Изменения порядка выполнения операторов в VBA .......................... |
67 |
Лабораторная работа № 4. Операторы условного и безусловного перехода....... |
68 |
Часть 5. Повторение действий в VBA: циклы..................................................... |
79 |
Лабораторная работа № 5. Операторы циклов...................................................... |
80 |
Часть 6. Массивы. Объекты VBA для ввода-вывода ......................................... |
88 |
Лабораторная работа № 6. Массивы. Свойства и методы объектов Range и |
|
Selection ...................................................................................................................... |
88 |
Часть 7. Создание и использование функций и функций-процедур ................ |
99 |
Лабораторная работа № 7. Функции-процедуры и определенные |
|
пользователем функции............................................................................................. |
99 |
Часть 8. Элементы диалоговых окон.................................................................. |
105 |
Лабораторная работа № 8. Формы пользователя ................................................ |
105 |
Литература.............................................................................................................. |
123 |
Редактор Т.Л. Бажанова |
|
Технический редактор А.А. Матеуш |
|
Подписано в печать 05.09.08. Формат 60×84 1/16 |
|
Бумага офсетная. Гарнитура Таймс. Печать трафаретная. |
|
Усл. печ. л. 7,8. Уч.-изд. л. 7,2 |
|
Тираж 163 экз. Заказ 125 |
|
Учреждение образования |
|
«Могилевский государственный университет продовольствия» |
|
212027, Могилев, пр-т Шмидта, 3 |
|
ЛИ № 02330/0131913 от 08.02.2007 г. |
|
Отпечатано на ризографе редакционно-издательского отдела |
|
учреждения образования |
|
«Могилевский государственный университет продовольствия» |
|
212027, Могилев, пр-т Шмидта, 3 |
|
ЛП № 226 от 12.02.2003 г. |
|
124