- •Алгоритмизация и программирование на vba: основы программирования
- •Содержание
- •Лабораторная работа 1 Создание программы на vba
- •Цель работы
- •Общие сведения
- •Языки программирования
- •Объекты
- •События
- •Порядок выполнения работы
- •Содержание отчёта
- •Контрольные вопросы
- •Лабораторная работа 2 Реализация линейных алгоритмов в vba
- •Синтаксис:
- •Аргументы:
- •Инструкция DefТип
- •Константы
- •Допустимые имена
- •Инструкции vba
- •Форматирование строк программы
- •Перенос инструкции
- •Размещение инструкций в одну строку
- •Комментарии
- •Операции в vba
- •Арифметические
- •Строковые
- •Синтаксис:
- •Операции отношения
- •Логические операции.
- •Приоритеты операций
- •Встроенные функции vba
- •Математические функции
- •Функции проверки типов
- •Функции преобразования форматов
- •Синтаксис:
- •Аргументы:
- •Функции обработки строк
- •Функции времени и даты
- •Функции, возвращающие строки
- •Встроенные диалоговые окна
- •Синтаксис:
- •Аргументы:
- •Синтаксис:
- •Аргументы:
- •Работы с данными Host приложений.
- •Анализ макросов
- •Обращение к объектам.
- •Оператор «With».
- •Задание
- •Содержание отчёта
- •Контрольные вопросы
- •Пример выполнения работы Задание:
- •Текст программы:
- •Индивидуальные задания
Константы
Константа- именованная часть памяти, хранящая определённое значение, которое в процессе работы программы не может быть изменено.
Синтаксис:
[Public|Private]ConstИмяКонстанты [AsТип] = Значение
Аргументы
Public- Ключевое слово, используемое на уровне модуля для описания констант, доступных всем процедурам во всех модулях. Не допускается в процедурах.
Private- ключевое слово, используемое на уровне модуля для описания констант, доступных только внутри модуля, в котором выполняется описание. Не допускается в процедурах.
Тип данных, определенный пользователем
Наряду с массивами, представляющими нумерованный набор элементов одного типа, существует еще один способ создания структурного типа — тип, определенный пользователем, или в привычной терминологии для программистов запись. Запись — это совокупность нескольких элементов, каждый из которых может иметь свой тип. Элемент записи называется полем. Запись является частным случаем класса, в котором не определены свойства и методы.
Синтаксис:
[Private | Public] Type ИмяПеременной ИмяЭлемента [([Индексы])] As тип [ИмяЭлемента [([Индексы])] As тип] End Type
Аргументы:
Public- Используется пользователем для описания определяемых типов, которые доступны для всех процедур во всех модулях всех проектов
Private- Используется для описания определяемых пользователем типов, которые доступны только в модуле, в котором выполняется описание
Тип- Тип данных элемента; поддерживаются типы:Byte,Boolean,Integer,Long,Currency,Single,Double,Date,String(для строк переменной длины),String* длина (для строк фиксированной длинны),Object,variantи другой, определяемый пользователем тип или объектный тип
В данном примере инструкция туре используется для определения типа данных (только на уровне модуля). При появлении в модуле класса инструкции туре должно предшествовать ключевое слово Private.
' Тип, определенный пользователем
Туре Student'Описание типа «Студент»
Фамилия As String * 20
Имя As String * 20
Отчество As String * 20
НомерЗачетки As Integer
Группа As String * 10
Курс As Long
ДатаРождения AsDate
EndType
‘ Описание переменной типа «Студент»
Dims1AsStudent
‘Обращение к элементам переменной типа «Студент»
s1.Фамилия = Иванов
s1.НомерЗачетки = 12003
s1.Группа = "Менеджмент"
Допустимые имена
В VBAпользователь определяет имена переменных, функций, процедур, типов, постоянных и других объектов. Вводимые пользователем имена должны отражать суть обозначаемого объекта так, чтобы делать программу легко читаемой. ВVBAимеются следующие ограничения на имена:
Длина имени не должна превышать 255 символов.
Имя не может содержать пробелов и следующих символов: % . , & ! # @ $.
Имя может содержать любую комбинацию букв, цифр и символов, начинающуюся с буквы.
Имена должны быть уникальны внутри области, в которой они определены.
Не следует использовать имена, совпадающие с ключевыми словами VBAи именами встроенных функций и процедур.
Хотя регистр букв (верхний или нижний) в имени не имеет значения, умелое использование его может существенно облегчить понимание содержательной стороны переменной.