Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть 2. Основы офисного программирования.doc
Скачиваний:
0
Добавлен:
07.02.2020
Размер:
4.04 Mб
Скачать

5.2.10. Описание типов данных пользователя

На основе стандартных типов данных VBA пользователь может описать собственные структурированные типы данных. Переменные таких типов могут содержать разнородную информацию. Тип описывается с помощью инструкции Type:

[Private | Public] Type ИмяТипа ИмяЭлемента [([Индексы])] As Тип [ИмяЭлемента [([Индексы])] As Тип] ... End Type

В описании может быть указано произвольное количество элементов любого типа, включая массивы и другие заданные пользователем типы. Новый тип – аналог записей или структур в других языках. Переменные созданных с пользователем типов можно описать с помощью инструкции вида

Dim ИмяПеременной As ИмяТипа

После описания переменной ее элементам можно присвоить значения. Для доступа к элементу нужно указать имя переменной и имя элемента, заданное в описании типа (разделителем является точка). Например, оператор присваивания значения будет иметь вид

ИмяПеременной.ИмяЭлемента = Значение

На основе описанных пользователем типов можно создавать массивы и новые типы.

5.2.11. Запись выражений на vba

Выражение – часть кода, при выполнении которой вычисляется некоторое значение. При вычислении могут быть получены значения различных типов. Тип результата зависит от типов операндов и операций, которые над ними выполняются. Основные операции, реализуемые в программах на VBA, делятся на группы:

  • арифметические операции:

    • сложение (+),

    • вычитание (–),

    • умножение (*),

    • деление (/), дающее в качестве результата число с плавающей точкой, деление (\), возвращающее целочисленный результат – частное от деления,

    • Mod – получение остатка от деления целых чисел,

    • возведение в степень (^),

    • логические операции:

    • Not – отрицание,

    • And – конъюнкция (логическое «И»),

    • Or – дизъюнкция (логическое «ИЛИ»),

    • Eqv – логическая эквивалентность («равенство»),

    • Imp – импликация,

    • Xor – исключающее «ИЛИ»,

    • операции сравнения:

    • равно (=),

    • не равно (<>),

    • меньше (<),

    • больше (>),

    • меньше или равно (<=),

    • больше или равно (>=),

    • операция конкатенации (&) – «склеивание» строк.

Frame1

Если выражение содержит несколько операций (в справочном руководстве по VBA их называют операторами), то значения «подвыражений» рассчитываются в определенном порядке. Такой порядок называют порядком старшинства или приоритетом операций.

Если выражение содержит операторы разных типов, то первыми выполняются арифметические операции, следом за ними операции сравнения, а последними логические операции. Все операции сравнения имеют равный приоритет, т.е. выполняются в порядке их расположения в выражении слева направо. Арифметические и логические операции выполняются в порядке их расположения в табл. 1.

Стоящие рядом в выражении операции умножения и деления выполняются слева направо. В таком же порядке выполняются стоящие рядом операторы сложения и вычитания. Операции внутри круглых скобок всегда выполняются раньше, чем операции вне скобок.

Операция конкатенации (&) по порядку старшинства следует сразу за арифметическими операциями и перед операциями сравнения.

Операция Like, равная по старшинству остальным операциям сравнения, выделяется в самостоятельный тип операций сравнения с образцом.

Операция Is является операцией сравнения ссылок на объект. Этот операция не выполняет сравнение объектов или их значений; она проверяет только, указывают ли две разные ссылки на один объект.