- •Лабораторная работа №2
- •1. Типы данных vba
- •Тип Date
- •Целые числа
- •Числа с плавающей точкой
- •Тип данных Currency
- •Текстовые строки
- •Логические значения
- •Тип данных Variant
- •Задание №1 на дом: выучить содержимое таблицы с типами данных.
- •2. Переменные vba
- •Имя переменной
- •Создание переменной
- •Задание №2 в компьютерном классе: создать в vba макрос, представленный на рисунке выше.
- •Задание №3 в компьютерном классе: внести изменения в макрос, в соответствии с рисунком выше.
- •Область действия переменных
- •Задание №4 в компьютерном классе: внести изменения в программный код, в соответствии с рисунком выше.
- •Задание №5 в компьютерном классе: внести изменения в программный код, в соответствии с рисунком выше.
- •3. Константы vba
- •Литеральные константы
- •Константы String
- •Численные константы
- •Константы Date
- •Константы Boolean
- •Именованные константы
- •Внутренние константы
- •4. Совместимость типов данных vba Операторы и выражения
- •Преобразования численных типов
- •Преобразование строк и чисел
- •Преобразования Boolean
- •Преобразование Date
- •Контрольные вопросы (подготовить ответы на вопросы дома и ответить перед выполнением заданий в компьютерном классе):
Задание №1 на дом: выучить содержимое таблицы с типами данных.
2. Переменные vba
Переменная- это имя, которое программист дает области компьютерной памяти, используемой для хранения данных какого-либо типа.
Для лучшего понимания переменной можно провести аналогию, скажем, с автоматической камерой хранения на вокзале. Ячейки камеры, как известно, пронумерованы - это "имя" переменной (в отличие от камеры хранения, мы можем сами присваивать определенное имя переменной). То, что лежит в ячейке камеры хранения - это значение переменной. Оно может меняться, но номер ячейки (имя переменной) остается одним и тем же.
Имя переменной
При выборе имени переменной необходимо соблюдать определенные правила:
Имя переменной должно начинаться с буквы алфавита;
Имена переменных не могут содержать пробелы, точку или любой другой символ, который VBA использует для обозначения математических операций и операций сравнения;
Имена переменных не могут превышать 255 символов;
Имя переменной должно быть уникальным в рамках его области действия. Оно должно быть уникальным в пределах процедуры или модуля, в которой объявлена эта переменная (по аналогии с камерой хранения: на одном вокзале не может быть двух ячеек с одинаковым номером).Имя переменной не может дублировать зарезервированные ключевые слова VBA;
Имена переменных не чувствительны к состоянию регистра. Т.е. нет разницы между MyNumber, mynumber, mYnUmBeR.
Хорошим тоном программирования считается, когда именам переменным даются осмысленные названия, отражающие их суть в производимых программой операциях. Например, логично будет, если переменная, содержащая итоговую сумму, будет иметь название "AllSum".
Создание переменной
Самым простым способом создания переменной является использование ее в операторе VBA. При этом VBA создает переменную и резервирует память для переменной. Сохранение значения данных в переменной называется присваиванием переменной. Делается это с помощью оператора присваивания (=).
Например: Sum=120
Этот оператор сохраняет численное значение 120 в ячейке памяти, заданной переменной Sum.
Такое объявление переменной называется "неявным объявлением переменной"или"объявление переменной на лету". Все переменные, которые VBA создает подобным образом, имеют тип данных Variant.
Неявное объявление переменной может вызвать массу проблем во время отладки программного кода, поэтому, такой способ программирования не рекомендуется. В некоторых языках программирования вообще нельзя объявлять переменные неявным способом.
Поэтому, VBA предоставляет возможность выполнить явное объявление переменной. Это несет следующие преимущества:
Ускоряется выполнение кода;
Уменьшается количество потенциальных ошибок при написании кода;
Улучшается читабельность программного кода;
Нормализуется выделение заглавными буквами в имени переменной (т.е., если вы явно объявили имя переменной как "AllSumm", то при написании в теле кода этой переменной, как allsumm, автоматически произойдет замена на AllSumm)
Для явного объявления переменной используется оператор Dim(Dimension).
Синтаксис:
Dim name1 [, name2…]nameN- любой допустимый идентификатор переменной.Идентификатор- это имя, которое дается элементам в создаваемых процедурах и модулях, таким как переменные. Это обусловлено тем фактом, что создаваемые имена определяют конкретные участки памяти (имя переменной), группы инструкций (макрос или процедура). Например:Dim MyValue Dim Value_1, Value_2
Все переменные, созданные подобным образом, являются переменными типа Variant.
Когда VBA создает новую переменную, эта переменная инициализируется (переменной присваивается некоторое значение "по умолчанию"):
строки инициализируются пустыми строками;
числа - значением 0;
переменные типа Boolean - False;
даты - 30 декабря 1899
Переменную можно объявлять только один раз в отдельной процедуре или модуле. Фактически переменные можно объявлять в любом месте кода. Однако, в практике программирования принято собирать все явные объявления переменных в одном месте, как правило, в начале процедуры.