- •1.Введение в программирование на vba Понятие объекта
- •Среда программирования
- •Типы данных
- •Переменные
- •Стандартные элементы управления. Объект Форма(UserForm) и элемент Кнопка(CommandButton)
- •Элемент Кнопка
- •Стандартные окна ввода и вывода сообщений
- •Окно сообщения
- •Окно ввода
- •Практические задания Задание 1.1
- •Задание 1.2
- •Задание 1.3
- •Задание 1.4
- •2.Реализация линейных алгоритмов Программирование арифметических выражений
- •Математические операции
- •Стандартные математические функции
- •Элементы Надпись(Label) и Поле(TextBox) Элемент Поле
- •Элемент Надпись
- •Практические задания Задание 2.1
- •Задание 2.2
- •Задание 2.3
- •3.Реализация алгоритмов с условиями Программирование условий Операторы сравнения
- •Логические операции
- •Инструкция If…Then…Else
- •Инструкция Select Case
- •Функции, используемые при программировании условий
- •Элементы Рисунок(Image), Счетчик и Полоса прокрутки(ScrollBar) Элемент Рисунок
- •Элемент Счетчик
- •Элемент Полоса прокрутки
- •Практические задания Задание 3.1
- •Задание 3.2
- •З адание 3.3
- •4.Реализация циклических алгоритмов Программирование циклов Цикл For…Next
- •Цикл Do While…Loop / Do…Loop While
- •Цикл Do Until...Loop / Do…Loop Until
- •Практические задания Задание 4.1
- •Задание 4.2
- •5.Использование процедур и функций в программах на vba Процедуры и функции
- •Элементы Рамка(Frame), Флажок(CheckBox), Переключатель(OptionButton), Выключатель(ToggleButton) Элемент Рамка
- •Элемент Флажок
- •Элемент Выключатель
- •Элемент Переключатель
- •Практические задания Задание 5.1
- •6.Использование структурированных типов данных на примере массивов Понятие массива. Работа с массивами
- •Практические задания Задание 6.1
- •Практические задания Задание 7.1
- •Задание 7.2
- •Задание 7.3
- •Задание 7.4
- •Задание 7.5
- •Задание 7.6
- •Задание 7.7
- •Задание 7.8
- •8.Работа с макросами в ms Excel Основные объекты ms Excel
- •Понятие макроса. Создание, редактирование, выполнение макросов
- •Цикл For Each
- •Инструкция With
- •Практические задания Задание 8.1
- •Задание 8.2
- •Задание 8.3
- •9.Создание приложений, управляемых с помощью диалоговых окон Элементы Поле со списком (ComboBox), Список (ListBox)
- •Практические задания Задание 9.1
- •Задание 9.2
- •10.Рекомендуемая литература
Элемент Надпись
Элемент Надпись (Label) обычно используется для вывода различных текстов в форме. Он может содержать и рисунок. Пользователь не может изменить надпись, но программа в период выполнения может изменять значение надписей.
Свойства элемента Надпись:
Caption |
Содержит текст надписи. |
Picture |
Определяет рисунок, помещаемый в элемент. Во время выполнения для изменения свойства нужно использовать функцию LoadPicture. Например, Lbl1.Picture = LoadPicture("c:\Pic\flower.bmp") |
PicturePosition |
Определяет расположение рисунка относительно надписи. |
AutoSize |
По умолчанию имеет значение False. Если изменить на True, то элемент будет автоматически менять свои размеры в соответствии с текстом. |
BackStyle |
Задает режим для фона. |
BorderStyle |
Определяет стиль обрамления. |
BackColor |
Определяет цвет фона. |
BorderColor |
Определяет цвет рамки. |
ForeColor |
Определяет цвет шрифта |
Font |
Используется для установки параметров шрифта. |
Практические задания Задание 2.1
Используя форму
задания 1.1, запрограммируйте для
введенного значения X вычисление
выражения
.
Процедура, связанная с кнопкой “Вывод”
изменится на:
Private Sub CommandButton2_Click()
Y = (X + 1) / (X - 2)
MsgBox Format(Y, "Fixed")
End Sub
Если вы не ничего не меняли в описании переменных, то Y имеет тип Variant, а X по-прежнему описана как String (строка), тем не менее, значение выражения вычисляется правильно. В данном случае выполняется неявное преобразование значения переменной из текстового формата в числовой. Однако с неявным преобразованием значений нужно быть осторожным. Чтобы убедиться в этом, вычислите Y по формуле Y = X + X. При необходимости следует использовать функции преобразования типов данных CDbl, CInt, CLng и др.
Функция Format используется для преобразования значений различных типов в текст в соответствии с заданными правилами. У неё очень много возможностей (см. Справку). В нашем случае у числа будет выводиться 2 знака после запятой.
Задание 2.2
С
оздайте
форму, приведенную ниже, которая
демонстрирует работу датчика случайных
чисел. Для ввода диапазона значений
используются 2 элемента Поле, для вывода
надписей и результата – 3 элемента
Надпись.
Цвет фона элементов Надпись совпадает с цветом фона формы, поэтому кажется, что текст написан непосредственно на форме. Для вывода результата используется элемент с именем Label3, для ввода нижней границы диапазона – элемент TextBox1, для ввода верхней границы – TextBox2. Текст процедуры для кнопки «Новое значение»:
Private Sub CommandButton1_Click()
Label3.Caption = Int( _
(TextBox2.Text - TextBox1.Text + 1) * Rnd + TextBox1.Text)
End Sub
Private Sub UserForm_Initialize()
Randomize
End Sub
Инструкция Randomize инициализирует генератор случайных чисел значением, возвращаемым системным таймером. Её нужно выполнить один раз. Функция Rnd возвращает случайное значение, меньшее 1 и большее или равное нулю. Функция Int отбрасывают дробную часть числа, заданного в качестве её аргумента.
