
- •Вопросы для подготовки к экзамену по программированию в среде vba
- •Дать определения терминам: алгоритм, программа.
- •Дать определения терминам: язык программирования, компилятор.
- •Описать свойства и виды алгоритмов. Свойства алгоритма:
- •Классификация алгоритмов:
- •Способы записи алгоритма. Виды алгоритмов. Способы записи алгоритма:
- •Классификация алгоритмов:
- •Линейный – все действия выполняются последовательно друг за другом.
- •Описать этапы создания программы. Дать определения: Объект, Метод, Этапы создания программы:
- •Описать этапы создания программы. Дать определения: Событие, Свойство. Этапы создания программы:
- •Способы запуска редактора vba. Форма, модуль, окно макета формы, Toolbox, конструктор форм.
- •Элементы управления.
- •Надпись Label –
- •Текстовое поле - TextBox
- •Рамка - Frame –
- •Кнопка Command Button.
- •Флажок - Check Box
- •Переключатель - Option Button
- •Поле со списком ComboBox
- •Список ListBox
- •Рамка для рисунка PictureBox
- •Понятие процедур, функций, операторов, переменных. Типы переменных.
- •Процедуры бывают:
- •Структура процедуры
- •Способы описания переменных. Принципы и правила выбора имен для переменных
- •В vba предусмотрены следующие типы переменных:
- •Создание переменных. Область действия или видимости (scope - скауп) переменных
- •Константы. Создание именованных констант. Область действия и написание констант
- •Константы бывают литеральными и именованными.
- •Операции и знаки операций; арифметические, конкатенация, сравнения, логические.
- •Преобразование типов данных.
- •Это можно сделать с помощью функций:
- •Массивы. Статические и динамические массивы. Объявление и использование массивов.
- •Классы объектов. Наследование. Полиморфизм. Инкапсуляция. Классы объектов
- •Наследование
- •Полиморфизм
- •Инкапсуляция
- •Операторы условного перехода: If…Then, If…ElseIf,
- •Операторы условного перехода: Select Case
- •Операторы циклов: For…Next, For Each…Next, Do…Loop.
- •Управление потоком с помощью оператора Go To. Немедленный выход из цикла с помощью оператора Exit For.
- •Математические функции: Abs, Cint, Fix, Int, Cos, Sin, Sqr
- •Строковые функции: Len, Mid, Left, Right
- •Функции работы с датой и временем: Date(), Time()
- •Функции преобразования типов данных: Val, Str,
- •Комментарии.
- •Объектная модель. Объектное выражение. Объектная модель
- •Встроенные функции Excel. Объект Application св-ва, методы и события:
Константы бывают литеральными и именованными.
Литеральная константа - это константа (число, строковое выражение, дата), расположенная непосредственно в коде.
Например: X = Y + 2
Здесь число 2 является литеральной константой.
Именованная константа, как правило, объявляется в начале модуля или процедуры (аналогично переменной) и предназначена для удобства читания и понимания программного кода. Например, более целесообразно использовать в коде программы именованную константу Pi (которой присвоено значение 3,14), чем литеральную константу 3,14. Согласитесь, что выражение S = Pi * R* R Более "понятно", чем S = 3.14 * R * R
Другим веским фактором в пользу именованных констант служит то обстоятельство, что изменив значение константы один раз, эти изменения мгновенно произойдут во всем программном коде. Литеральную константу надо искать и изменять в теле кода "вручную", на что может уйти довольно значительное время.
Однако не стоит использовать именованные константы сплошь и рядом, т.к. код может стать абсолютно нечитабельным, а вы сами запутаетесь, что и где находится.
При создании и объявлении именованных констант надо придерживаться тех же принципов, что и при работе с переменными.
Для объявления именованной константы предназначено ключевое слово Const
Синтаксис:
Const name_1 = value_1 [opetator name_2..] [, name_3 =..]
Name_N - любой допустимый идентификатор имени константы;
Value_N - любое значение данных;
Opetator - арифметическая или операция сравнения между двумя именами ранее описанных констант.
Область действия именных констант аналогична переменным, т.е. константы бывают процедурного и модульного уровня.
Поскольку одной из главных целей использования именованной константы является предотвращение повторения или дублирования литеральных констант, как правило, бывает необходимо, чтобы именованные константы были доступны всем процедурам в модуле. Поэтому целесообразно помещать объявления констант на модульном уровне, чтобы у них была наибольшая область действия.
Операции и знаки операций; арифметические, конкатенация, сравнения, логические.
Арифметических операторов в VBA всего 7. Четыре стандартных: сложение (+), вычитание (−), умножение (*), деление (/), и еще три:
возведение в степень (^). Например, 2^3 = 8;
целочисленное деление (\). Делит первое число на второе, отбрасывая (не округляя) дробную часть. Например, 5\2 = 2;
деление по модулю (Mod). Делит первое число на второе, возвращая только остаток от деления. Например, 5 Mod 2 = 1.
Почти в любой программе VBA используются операторы конкатенации, т. е. слияния строковых значений. В VBA их два — (+) или (&). Рекомендуется всегда использовать оператор (&), потому что:
при использовании (&) производится автоматическое преобразование числовых значений в строковые — нет опасности допустить ошибку;
при использовании оператора (+) сложение строкового значения со значением типа Null дает Null.
Пример использования оператора (&):
MsgBox "Сообщение пользователю " & vUserName
Операторов сравнения в VBA всего 8:
равенство (=). Например, If (nVar = 10);
больше, чем (>) и меньше, чем (<). Например, If (nVar > 10);
больше или равно (>=) и меньше или равно (<=). Например, If (nVar >= 10);
не равно (<>). Например, If (nVar<>10);
сравнение объектов (Is). Определяет, ссылаются объектные переменные на один и тот же объект или на разные. Например, If (obj1 is obj2);
подобие (Like). Сравнивает строковый объект с шаблоном и определяет, подходит ли шаблон.
Операторы сравнения всегда возвращают True (если утверждение истинно) или False (если утверждение ложно).
Очень часто при проверке нескольких условий используются логические операторы:
And — логическое И. Должны быть истинными оба условия;
Or — логическое ИЛИ. Должно быть истинным хотя бы одно из условий;
Not — логическое отрицание. Возвращает True, если условие ложно;
Xor — логическое исключение. В выражении E1 Xor E2 возвращает True, если только E1 = True или только E2 = True, иначе — False;
Eqv — эквивалентность двух выражений, возвращает True, если они имеют одинаковое значение;
Imp — импликация, E1 Imp E2 возвращает False, если E1 = True и E2 = False, иначе — True.
Помнить нужно про And, Or, Not, остальные логические операторы используются редко.