
- •Лабораторная работа №5 Общие приемы программирования на vba
- •Основные конструкции и принципы vba
- •Синтаксические описания
- •Переменные
- •Типы данных в vba
- •Переменные: Dim и Static
- •Арифметические операторы и работа с числовыми переменными
- •Конкатенация
- •Преобразование типов данных
- •Функции проверки типа данных
- •Встроенные математические функции
- •Строковые функции
Лабораторная работа №5 Общие приемы программирования на vba
-
Основные конструкции и принципы vba
-
Синтаксические описания
Синтаксис языка программирования — это правила написания программ.
Рассмотрим пример — возьмем из справочной системы описание команды. Мы пока не будем вдаваться в смысл ключевых слов (перед нами — описание оператора цикла), приведенных здесь, остановимся на основных частях описания.
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next [counter]
В синтаксических описаниях VBA жирным шрифтом выделены ключевые слова языка, курсивом даны названия переменных и других элементов языка. В квадратных скобках располагаются необязательные элементы – то есть такие элементы, без описания которых можно обойтись. Например, в приведенном описании блоки [statements] будут содержать в себе "полезную нагрузку" цикла – операторы, которые будут выполняться многократно, однако цикл будет работать и без них.
Элементы, которые допускают альтернативный выбор, разделяются знаком " | ".
Например, такая запись: " one | two " обозначает "one или two".
-
Переменные
Переменная — это именованная область памяти, где могут храниться различные данные, которые можно изменять во время выполнения программы. Переменные — это одна из основ любой программы. В них можно сохранять введенную пользователем информацию, их можно использовать для накопления данных, обработанных в программе и так далее. Если бы не было переменных — программирования не существовало бы.
У переменной есть несколько важнейших характеристик. Первая — имя переменной. Используя имя, мы можем обращаться к переменной в программе. Вторая характеристика — это тип данных, которые могут храниться в переменной. Тип определяет характер данных, которые мы можем хранить в переменной. Например, это могут быть числовые данные (возраст пользователя) и строковые данные (имя пользователя).
Давая переменным имена, следует придерживаться следующих правил.
-
Имя переменной должно состоять из букв и цифр, причем оно должно начинаться с буквы.
-
Имя не может быть длиннее 255 символов
-
Имя не должно содержать специальных знаков ( #, $, % и т.д.) и пробелов.
-
В качестве имен нельзя использовать зарезервированные слова VBA (например – if, dim, for и т.д.).
При именовании переменных старайтесь пользоваться латинскими буквами. Иначе возможны проблемы при работе программ на различных версиях Office.
Например, такие имена переменных выглядят вполне корректно:
str_Name, num_Age, str_Name1, num_Item2 и т.д.
Обратите внимание на префиксы, которыми мы снабдили имена переменных. Это признак особого стиля именования переменных. Он очень напоминает стиль именования элементов управления, который мы рассматривали ранее.
Пример 1.
Напишем программу на VBA, иллюстрирующую простой пример работы с переменными. Сначала она должна задать пользователю вопрос: "Как вас зовут", а потом — вывести его имя в окне сообщения.
Для этого добавим в документ Microsoft Word кнопку с именем cmd_Variables и надписью "Имя пользователя".
Код обработчика Click кнопки cmd_Variables:
txt_Name = InputBox("Введите ваше имя")
MsgBox (txt_Name)
Первая строка этого кода содержит новую для вас функцию InputBox. Она используется для вывода окна с сообщением и полем для ввода данных. Строка, которая передается функции в качестве параметра — это и есть сообщение, которое будет выведено в окне.
Рис.1 - Окно ввода данных
Выражение txt_Name= означает, что мы присваиваем переменной с именем txt_Name то, что пользователь введет в окне ввода данных, как бы говорим программе: "Сохрани в переменной txt_Name то, что пользователь введет в окне". Когда пользователь сообщает свое имя и нажимает OK —введенная им строка записывается в переменную txt_Name.
Введем на приглашение программы имя "Александр", вы можете ввести свое имя или любое другое.
Теперь мы можем выполнять много разных действий с этой переменной. В частности — использовать в качестве параметра, передаваемого функции MsgBox. В результате в окне сообщения вывелось имя пользователя, введенное на предыдущем этапе (рис. 2.).
Рис.2 - Имя пользователя в окне сообщения
Обратите внимание на то, что мы не заключили имя переменной в кавычки. Иначе в окне сообщения вывелось бы лишь имя переменной ( txt_Name ), но не хранимый в ней текст.