- •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.Рекомендуемая литература
Задание 1.2
С оздайте форму с двумя кнопками, которые видны по очереди (см. рисунок). При нажатии на кнопку одна кнопка исчезает, а другая становится видимой.
Добавьте к проекту новую форму. Поместите на форму две кнопки. Измените значения свойств Caption у кнопок и формы. У одной из кнопок установите свойство Visible равным False. Тексты процедур обработки событий Click для кнопок:
Private Sub CommandButton1_Click()
CommandButton1.Visible = False
CommandButton2.Visible = True
End Sub
Private Sub CommandButton2_Click()
CommandButton1.Visible = True
CommandButton2.Visible = False
End Sub
Проделайте все то же самое для свойства Enabled.
Задание 1.3
С оздайте форму с одной кнопкой, надпись на которой изменяется при нажатии. При повторном нажатии выводится первоначальное значение.
Текст модуля формы приведен ниже. При изменении значения свойства Caption используются вспомогательная переменная R и переменная OldCaption, в которой хранится не используемое в данный момент значение. Начальное значение переменной OldCaption присваивается в момент инициализации формы (обрабатывается событие Initialize для формы). Обратите внимание, что в процедуре обработки события для формы используется имя UserForm, а не имя формы. Так всегда бывает для форм. Переменная OldCaption описана на уровне модуля, чтобы её можно было использовать в любой процедуре. Переменная R описана внутри процедуры, так как она локальная и используется только в этой процедуре.
Dim OldCaption As String
Private Sub CommandButton1_Click()
Dim R As String
R = CommandButton1.Caption
CommandButton1.Caption = OldCaption
OldCaption = R
End Sub
Private Sub UserForm_Initialize()
OldCaption = "Надпись 2"
End Sub
Задание 1.4
С оздайте форму с одной кнопкой, на которой при нажатии изменяется не только надпись, но и рисунок. При повторном нажатии выводится первоначальное значение.
Создайте в графическом редакторе 2 рисунка размером 1616 пикселов. Сохраните их в файлах с именами Рисунок1.bmp и Рисунок2.bmp. Текст модуля формы приведен ниже.
Dim OldCaption As String
Dim P1 As String
Dim P2 As String
Private Sub CommandButton1_Click()
Dim R As String
R = CommandButton1.Caption
CommandButton1.Caption = OldCaption
OldCaption = R
R = P1
P1 = P2
P2 = R
CommandButton1.Picture = LoadPicture(P1)
End Sub
Private Sub UserForm_Initialize()
CommandButton1.Caption = " Надпись 1"
OldCaption = " Надпись 2"
P1 = "C:\Wwww\Рисунок1.bmp"
P2 = "C:\Wwww\Рисунок2.bmp"
CommandButton1.Picture = LoadPicture(P1)
CommandButton1.PicturePosition = fmPicturePositionLeftCenter
End Sub
2.Реализация линейных алгоритмов Программирование арифметических выражений
Под выражением понимается переменная, константа, значение функции, свойство некоторого объекта или результат разрешенных над соответствующими типами данных операций. Порядок выполнения операций в выражениях можно установить с помощью круглых скобок.
Математические операции
В программах на языке VBA можно использовать обычный набор математических операций.
Операция |
Математическое действие |
операнд1 + операнд2 |
Сложение. |
операнд1 - операнд2 |
Вычитание. |
- операнд |
Перемена знака. |
операнд1 * операнд2 |
Умножение. |
операнд1 / операнд2 |
Деление. |
операнд1 \ операнд2 |
Целочисленное деление. |
операнд1 MOD операнд2 |
Деление по модулю. |
операнд1 ^ операнд2 |
Возведение в степень |