Алексей Гладкий - Excel. Трюки и эффекты стр 5.

Шрифт
Фон

Явное и неявное объявление переменных

Рассмотренное выше объявление переменных называется явным.

VBA также поддерживает неявное объявление переменных. Под неявным объявлением подразумевается возможность использования переменной без ее объявления посредством инструкции Dim, Static, Private или Public. При первом обращении к такой переменной для нее автоматически выделяется память и происходит ее инициализация. Следует отметить, что все неявно объявленные переменные имеют тип Variant.

Использование неявного объявления переменных может как упростить написание программ, так и значительно усложнить процесс их отладки.

К примеру, можно очень долго разбираться, почему же после вычисления такого выражения, как dblSalaryAccount = dblSalaryAcount * 10. 5, значение переменной dblSararyAccount стало равным нулю, если до этого оно было равно 5.37 5. Все дело в небольшой ошибке в названии идентификатора переменной, в результате которой создается новая переменная dblSalaryAcount, которая инициализируется нулевым значением. В случае использования явного объявления переменных подобных ошибок в программе быть не может, потому что каждый раз при обнаружении необъявленного идентификатора VBA выдает ошибку.

Для включения требования обязательного объявления переменных используется директива Option Explicit. Чтобы данная директива добавлялась в каждый новый модуль автоматически, нужно с помощью меню Tools → Options (Сервис → Параметры) редактора VBA открыть диалоговое окно Options (Параметры) и на вкладке Editor (Редактор) установить флажок Require Variable Declaration (Явное описание переменных).

Константы

Как и в любом другом языке программирования, в VBA можно сопоставлять с идентификаторами константные значения. Объявление констант в языке VBA во многом сходно с объявлением переменных. Синтаксис инструкции объявления константы следующий:

[Public | Private] Const Имя_константы [As Имя_типа] = Значение

Два ключевых слова в первых скобках задают область видимости константы:

• Public – используется для объявления глобальных констант;

• Private – используется для объявления констант, доступных только в том модуле, где они объявлены.

По умолчанию, то есть когда не употреблены указанные ключевые слова, константа является Private.

Имя_константы – задает идентификатор константы.

Значение – константное значение (например, "Строка1", 1.245 ит. д.) либо выражение, в число аргументов которого не входят переменные и функции.

Если тип константы не задан, то он автоматически выбирается VBA исходя из ее значения. Ниже приводятся примеры объявления констант:

Const PI As Double = 3.14159265359

Public Const MyConstString = "MyConst"

Private Const НазваниеТаблицы As String = "Отчеты"

Операторы

Язык VBA содержит большое количество встроенных операторов, которые позволяют выполнять разнообразные действия над всеми встроенными в VBA типами. Операторы и их операнды по определенным правилам составляются в выражения. Данный раздел посвящен описанию операторов, предоставляемых VBA-npoграммисту.

Операторы для работы с численными значениями

Информация обо всех операторах для работы с численными значениями приведена в табл. 1.3.

Таблица 1.3. Операторы для работы с численными значениями

Алексей Гладкий, Александр Чиртик - Excel. Трюки и эффекты

Примечание

Оператор "+" может использоваться и для соединения строк. Однако bVBA существует специальный оператор "&", выполняющий эту функцию. Рекомендуется использовать для соединения строк именно оператор "&", так как это способствует легкому визуальному отделению операций над строками от операций над другими типами данных, что, в свою очередь, улучшает читаемость кода.

Операторы сравнения

Результатом выполнения всех операторов сравнения является значение типа Boolean. Если операнды какого-либо оператора удовлетворяют его условию, то возвращается значение True, иначе возвращается значение False. Все операторы сравнения, поддерживаемые VBA, приведены в табл. 1.4.

Таблица 1.4. Операторы сравнения

Excel. Трюки и эффекты

Алексей Гладкий, Александр Чиртик - Excel. Трюки и эффекты

Описанные операторы сравнения могут принимать в качестве операндов значения выражений любого типа, то есть фактически оперируют с типом данных Variant. Если один из операндов равен Empty, то результатом выполнения операторов будет специальное значение NULL. Если операнды несравнимы, то при выполнении описанных выше операторов генерируется ошибка: "Несоответствие типа".

Режим сравнения строковых значений можно задать с помощью директивы Option Compare. Для Excel работают два варианта данной директивы: Option Compare Text (текст сравнивается без учета регистра символов) и Opt ion Compare Binary (сравниваются бинарные коды символов, при этом автоматически учитывается их регистр). По умолчанию сравнение строк происходит согласно директиве Option Compare Binary.

В VBA реализованы два специфических оператора Like и Is, которые тоже относятся к операторам сравнения. Они также возвращают значение типа Boolean как результат сравнения.

Оператор I s используется для определения, являются ли две ссылки ссылками на один и тот же объект. Этот оператор допускает использование в качестве операндов только ссылки на объекты. Формат данного оператора такой:

Результат = Ссылка1 Is Ссылка2

Оператор Like используется для проверки, удовлетворяет ли текст в строке заданному шаблону. Формат этого оператора следующий:

Результат = Строка Like Шаблон

Перечень символов, которые могут употребляться в строке шаблона, приведен в табл. 1.5.

Таблица 1.5. Перечень возможных символов в строке шаблона

Excel. Трюки и эффекты

Excel. Трюки и эффекты

В качестве примера определим, является ли строка "15 26 ОА" номером автомобиля серии ОА или ОО. Значение строки-шаблона для этого случая будет равно "## ## О[AО]", а результатом применения оператора "15 26 ОА" Like "## ## О[АО]" будет значение True.

Для задания непрерывного диапазона символов в квадратных скобках можно воспользоваться знаком "минус" (-). При этом символы необходимо указывать в возрастающем порядке (по номеру в алфавите): [A-Z], а не [Z-A].

Примечание

Если нужно, чтобы в шаблоне присутствовали специальные символы, приведенные в табл. 1.5, то необходимо заключить соответствующие знаки в скобки: ([), (]), (#), (?), (*).

Логические операторы

В VBA введены операторы, которые используются в составе логических выражений (например, условие в инструкции If-Then-Else, которая будет рассмотрена позже). Формат логических операторов VBA (кроме импликации) и их описание приведены в табл. 1.6 (все выражения, используемые в операторах, – логические, принимающие значение True или False).

Таблица 1.6. Логические операторы VBA

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3