
- •Алгоритмизация и программирование на vba: основы программирования
- •Содержание
- •1 Цель работы. 20
- •2.2Объекты
- •2.3События
- •3Порядок выполнения работы
- •4Содержание отчёта
- •Цель работы
- •5Контрольные вопросы
- •Синтаксис:
- •Аргументы:
- •2.1.3Инструкция DefТип
- •Синтаксис:
- •Аргументы:
- •2.1.6Допустимые имена
- •Синтаксис:
- •Аргументы:
- •2.3.2Совместимость типов
- •2.4Перенос строки
- •2.5Комментарии
- •2.6Расположение операторов в одну строку
- •2.7 Операции в vba
- •2.7.1Арифметические
- •2.7.2Строковые
- •Синтаксис:
- •2.7.3Операции отношения
- •2.7.4Логические операции.
- •2.7.5Приоритеты операций
- •2.8Встроенные функции vba
- •2.8.1Математические функции
- •2.8.2Функции проверки типов
- •2.8.3Функции преобразования форматов
- •Синтаксис:
- •Аргументы:
- •2.8.4Функции обработки строк
- •2.8.5Функции времени и даты
- •2.8.6Функции, возвращающие строки
- •2.8.7Встроенные диалоговые окна
- •Синтаксис:
- •Аргументы:
- •Синтаксис:
- •Аргументы:
- •2.9Схема алгоритма
- •3Задание
- •4Содержание отчёта
- •5Контрольные вопросы
- •6Пример выполнения работы Задание:
- •Текст программы:
- •7Индивидуальные задания
Синтаксис:
Dim [WithEvents] ИмяПеременной [([Индексы])] [As [New] Тип] [, [WithEvents] ИмяПеременной [([Индексы])] [As [New] Тип]]
Аргументы:
WithEvents - Ключевое слово, указывающее, что аргумент ИмяПеременной является именем объектной переменной, которая используется при отклике на события, генерируемые объектом ActiveX (то есть объектом, который может быть открыт для других приложений и средств программирования)
ИмяПеременной - Имя переменной, удовлетворяющее стандартным правилам именования переменных
Индексы - Размерности переменной массива; допускается описание до 60 размерностей. Для задания аргумента индексы используется следующий синтаксис: [Нижний То] Верхний [, [Нижний То] Верхний] ... Если нижний индекс не задан явно, нижняя граница массива определяется инструкцией Option Base <0|1> и может быть равна 0 или 1. Если отсутствует инструкция option Base, нижняя граница массива равняется нулю
New - Ключевое слово, включающее возможность неявного создания объекта. Если указано ключевое слово New при описании объектной переменной, новый экземпляр объекта создается при первой ссылке на него, поэтому нет необходимости присваивать ссылку на объект с помощью инструкции Set
Тип - Тип данных переменной. Для каждой описываемой переменной следует использовать отдельное предложение As Тип
Переменные, описанные с помощью ключевого слова Dim на уровне модуля, доступны для всех процедур в данном модуле. Переменные, описанные на уровне процедуры, доступны только в данной процедуре.
Инструкция Dim предназначена для описания типа данных переменной на уровне модуля или процедуры. Например, следующая инструкция описывает переменную с типом integer. Dim N As Integer
Инструкция Dim предназначена также для описания объектного типа переменных. Далее приводится описание переменной для нового экземпляра рабочего листа. Dim X As New Worksheet
Если при описании объектной переменной не используется ключевое слово New, то для использования объекта, на который ссылается переменная, существующий объект должен быть присвоен переменной с помощью инструкции Set.
2.1.3Инструкция DefТип
Инструкция DefTиn (вместо тип в имени инструкции фигурируют буквы, обозначающие конкретный тип данных) используется на уровне модуля для задания типа данных по умолчанию для переменных, аргументов, передаваемых в процедуры, и значений, возвращаемых процедурами Function и Property Get, имена которых начинаются с соответствующих символов (Таблица 2).
Таблица 2. Задание типов данных по умолчанию
Синтаксис |
Описание |
DefBool ДиапазонБукв [, ДиапазонБукв] ... |
Тип данных Boolean |
DefByte ДиапазонБукв [, ДиапазонБукв] ... |
Тип данных Byte |
Deflnt ДиапазонБукв [, ДиапазонБукв] ... |
Тип данных Integer |
DefLng ДиапазонБукв [,ДиапазонБукв] ... |
Тип данных Long |
DefCur ДиапазонБукв [, ДиапазонБукв] ... |
Тип данных Currency |
DefSng ДиапазонБукв [, ДиапазонБукв] ... |
Тип данных Single |
DefDbl ДиапазонБукв [, ДиапазонБукв] ... |
Тип данных Double |
DefDate ДиапазонБукв [, ДиапазонБукв] ... |
Тип данных Date |
DefStr ДиапазонБукв [, ДиапазонБукв] ... |
Тип данных String |
DefObj ДиапазонБукв [, ДиапазонБукв] ... |
Тип данных Object |
DefVar ДиапазонБукв [, ДиапазонБукв] ... |
Тип данных Variant |
Аргумент ДиапазонБукв имеет следующий синтаксис:
Буква1[-Буква2]
Аргументы Буква1 и Буква2 указывают границы диапазона имен, для которых задается тип данных по умолчанию.
В следующем примере инструкция устанавливает, что все переменные с именами, начинающимися с букв из диапазона от А до Q, имеют строковый тип:
DefStr A-Q
Инструкция Def Тип действует только на модуль, в котором она используется.
При указании диапазона букв обычно определяется тип данных по умолчанию для переменных, которые начинаются с первых 128 символов набора. Однако при указании диапазона A—Z задается тип данных по умолчанию для всех переменных, включая те, что начинаются с международных символов из расширенной части набора (128-255).
Еще одним способом задания типа переменной по умолчанию является включение в конец имени специального символа, устанавливающего тип переменной (Таблица 3).
Таблица 3. Символы для задания типов по умолчанию
Символ |
Тип |
* |
Integer |
& |
Long |
| |
Single |
# |
Double |
@ |
Currency |
$ |
String |
2.1.4Константы
Константа - именованная часть памяти, хранящая определённое значение, которое в процессе работы программы не может быть изменено.
Синтаксис:
[Public|Private] Const ИмяКонстанты [As Тип] = Значение
Аргументы
Public - Ключевое слово, используемое на уровне модуля для описания констант, доступных всем процедурам во всех модулях. Не допускается в процедурах.
Private - ключевое слово, используемое на уровне модуля для описания констант, доступных только внутри модуля, в котором выполняется описание. Не допускается в процедурах.
2.1.5Тип данных, определенный пользователем
Наряду с массивами, представляющими нумерованный набор элементов одного типа, существует еще один способ создания структурного типа — тип, определенный пользователем, или в привычной терминологии для программистов запись. Запись — это совокупность нескольких элементов, каждый из которых может иметь свой тип. Элемент записи называется полем. Запись является частным случаем класса, в котором не определены свойства и методы.