
- •Использование visual basic for applications для разработки приложений в ms office
- •Введение
- •1. Общие принципы ооп
- •2. Визуальное программирование. Событийно-управляемое программирование
- •3. Структура программы и иерархия классов в office
- •4. Интегрированная среда разработки vba
- •4.1. Окна интегрированной среды
- •4.2. Меню
- •4.2.1. Меню Файл
- •4.2.2. Меню Вид
- •4.2.3. Меню Вставка
- •4.2.4. Меню Формат
- •4.2.5. Меню Отладка
- •4.2.6. Меню Запуск (Run)
- •4.2.7. Меню Сервис (Tools)
- •4.2.8. Пример создания простейшей формы
- •5. Язык vba, написание программного кода
- •5.1. Общие элементы синтаксиса, операторы
- •5.1.2. Арифметические операторы
- •5.1.3. Оператор конкатенации &
- •5.1.4. Логические операторы
- •5.1.5. Комментарий
- •5.2. Функции, процедуры, макросы, обработчики событий
- •5.2.1. Процедуры
- •5.2.2. Функции
- •5.2.3. Функции MsgBox и DialogBox
- •InputBox (подсказка [, заглавие ] [, по_умолчанию ] [, х_поз][ , у_поз][ , help_file, контекст]).
- •5.2.4. Еще один способ вызова процедуры или функции
- •5.3. Объявление переменных, типы переменных
- •5.4. Преобразованиеданных и типов данных
- •5.5. Массивы
- •5.6. Константы
- •5.7. Область видимости и время жизни переменных, констант и процедур
- •5.7.1. Управление областью видимости
- •5.7.2. Пример создания программного кода формы
- •5.8. Инструкции vba
- •5.8.1. Инструкции присваивания Let и Set
- •5.8.2. Инструкции циклов
- •5.8.3. Инструкции принятия решений
- •6. Создание графического интерфейса с помощью стандартных элементов диалога
- •6.1. Создание формы и размещение в ней элементов управления
- •6.1.1. Объектная модель библиотеки ms Forms
- •6.1.2. События форм и элементов управления
- •6.2. Элементы управления
- •6.2.1.Label (Надпись)
- •6.2.2.TextBox (Поле)
- •6.2.3.RadioButton (Переключатели или радиокнопки)
- •6.2.4.CheckBox (Флажок) и Toggle Button (Выключатель)
- •6.2.5.Frame (Рамка)
- •6.2.6.ListBox (Список)
- •6.2.7.ComboBox (Поле со списком)
- •6.2.14.Свойства элементов управления
- •7. Создание приложений для ms excel
- •7.1. Структура проекта
- •7.2. ОбъектApplication
- •7.3. Работа с книгами
- •7.4. Работа с рабочими листами
- •7.5. Работа с ячейками
- •8. Создание приложений для ms word
- •8.1. Структура проекта
- •8.2. ОбъектApplication
- •8.3. Работа с документами
- •8.4. Работа с абзацами
- •8.5. Работа с текстом
- •8.5.1. Объект Range
- •8.5.2. Объект Selection
- •9. Задания для самостоятельной работы
- •9.1. Создание графического интерфейса
- •9.2. Написание программного кода
- •9.3. Создание приложения дляWord
- •9.4. Написание функции и процедуры
- •9.5. Создание приложения дляExcel
- •Библиографический список
5.8.3. Инструкции принятия решений
5.8.3.1. If...Then...Else
Эта инструкция задает выполнение определенных групп инструкций в зависимости от значения выражения. Ее синтаксис приведен ниже.
If условие Then инструкции [Else другие_инструкции]
В этом случае все инструкции должны быть записаны в одну строку и разделяться двоеточиями. Однако более предпочтительна иная, блоковая форма синтаксиса, которая имеет вид
If условие Then
[Инструкции]
[Else
[Другие инструкции]]
End If
Или блоковая форма расширенного синтаксиса:
If условие Then
[Инструкции]
[ElseIf другое условие Then
[Другие инструкции]]
[Else
[Третьи инструкции]]
End If
При этом предложение ElseIf …Then может повторяться несколько раз, но ни одно такое предложение не должно находиться после блока Else.
Условие представляет собой логическое выражение, имеющее значение ИСТИНА или ЛОЖЬ. Если условие имеет значение ИСТИНА, то выполняется блок инструкций инструкции, т. е. тот блок, что следует за словом If…Then, т. е. после Если. При расширенном синтаксисе другие инструкции (те, что следуют за ключевым словом ElseIf…Then), будут выполнены, если условие будет ложным, а другое условие — истинным. Блок инструкций, следующий за ключевым словом Else (иначе), будет выполнен лишь тогда, когда ни одно из условий не имеет значение ИСТИНА.
5.8.3.2. Select case
Это еще одна инструкция, использующаяся при проверке каких-либо условий. Она способна выполнять одну или несколько инструкций в зависимости от значения некоторого выражения. Ниже приведен ее синтаксис.
Select Case выражение
[Case первое_значение
[инструкции_1]]
[Case второе_значение
[инструкции_2]]
…
[Case Else
[инструкции_п]]
End Select
Выражение в этом случае может иметь любое числовое или строковое значение. В случае, если значение выражения совпадает со значением первое_значение, то выполняется набор инструкций инструкции_1, и так далее для любого числа значений. Если выражение не приняло ни одно из предусмотренных значений, и в инструкции предусмотрено необязательное предложение Case Else, то именно его инструкции и будут выполнены.
В предложении Case допускается использование нескольких выражений или диапазонов. Например, допустимым является следующее выражение: Case 1 To 5, 8 To 10, 15, 18, Is > 30.
Здесь ключевое cлово Is используется для замены выражения, стоящего после Select Case, т. е. инструкция будет выполнена, если значение выражения будет больше 30.
Приведем пример функции, вычисляющей размер налога ( 0%, 5%, 10%, 23%) на определенную сумму в зависимости от введенного параметра.
Function Nalog ( Value As Single, Par As Integer)_
As Single
Select Case Par
Case 0
Nalog = Value*0
Case 1
Nalog = Value*0.05
Case 2
Nalog = Value*0.1
Case 3
Nalog = Value*0.23
Case Else
Nalog = Value*0
End Select
End Function
Этот же самый пример можно оформить и другим способом с использованием инструкции If ... Else.
Function Nalog2(value As Single, par As Integer) As Single
If par = 0 Then
Nalog2 = value * 0
ElseIf par = 1 Then
Nalog2 = value * 0.05
ElseIf par = 2 Then
Nalog2 = value * 0.01
ElseIf par = 3 Then
Nalog2 = value * 0.23
Else
Nalog2 = value * 0
End If
End Function