Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция2_вопр_5-6_студ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
27.76 Кб
Скачать

Задание типа константы

Когда объявляется именованная константа или используется литеральная, VBA воспринимает эту константу тем типом, который наиболее согласуется с ее значением.

В VBA можно задавать тип константы (по аналогии с переменными). Но в отличие от переменных нельзя задавать типы Object и Array.

Например, Const Pi As Single = 3.14

Внутренняя константа - это именованная константа, которая была определена разработчиками VBA.

Excel содержит внутренние константы для использования с рабочими книгами электронных таблиц. Аналогично, Word содержит внутренние константы для работы с документами и шаблонами текстового редактора, а Access - для операций с базами данных.

Внутренние константы, определяемые VBA, начинаются с букв vb. Внутренние константы Excel - xl; Word - wd.

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

  1. Приведение и преобразование типов

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

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

Для таких "превращений" существуют специальные функции преобразования типов.

Функция Val применяется для конверсии строковых переменных в числовые, а именно – переменных типа String в тип Double.

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

Val ("1 2 3") возвратит число 123

Val ("1 2 и 3") возвратит число 12.

Иногда нужно провести обратное преобразование — превратить число в строку.

Функция Str конвертирует данные различных числовых типов в тип String.

Особенность функции заключается в том, что первый символ полученного строкового значения зарезервирован для знака числа. Если в строку конвертируется число отрицательное — первый символ полученной строки — знак -. Если конвертируется положительное число, первым символом полученной строки будет пробел, а дальше будут идти числовые символы.

Например, функция Str (12) возвратит строку " 12 ".

Существуют и другие функции, предназначенные для конверсии типов данных. Их названия состоят из сокращенного слова "Convert" и сокращенного же названия типа данных, в который они конвертируют входные значения. Например, это CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar. Скажем, функция CInt конвертирует данные в формат Integer. Учитывая особенности этого типа данных, корректно могут быть сконвертированы лишь значения от -32768 до 32767. Причем, дробные числа округляются при конверсии до ближайшего четного числа — 0.5 округляется до 0, 1.5 — до 2. Если вам понадобятся подробности о каждой из этих функций — обратитесь к справочной системе VBA.

Таблица Функции преобразования типов

Функции

Возвращает действие

Возвращаемый тип

Asc (S)

Возвращает число кода символа, соответствующее первой букве строки S. Буква «А», например, имеет код символа 65

Integer

CBool(N)

Возвращает Вооlеаn-эквивалент численного выражения N

Boolean

Format (Е, S)

Возвращает строку, содержащую значение, представленное выражением Е, в формате в соответствии с инструкциями, содержащимися в S

String

Str(N)

Возвращает строку, эквивалентную численному выражению N

String

Val(S)

Возвращает численное значение, соответствующее числу, представленному строкой S, которая должна содержать только цифры и одну десятичную точку, иначе VBA не может преобразовать ее в число. Если VBA не может преобразовать строку в S, то функция Val возвращает 0

Variant

CByte(E)

Возвращает численное значение типа Byte (от 0 до 255); Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число

Byte

CCur(E)

Возвращает численное значение типа Currency; Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число

Currency

CDate(E)

Возвращает значение типа Date. Е может быть любым допустимым выражением (строкой или числом), представляющим дату в диапазоне 1/1/100-12/31/9999 включительно

Date

CDbl(E)

Возвращает численное значение типа Double; Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число

Double

Cint(E)

Возвращает численное значение типа Integer; Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число

Integer

CLng(E)

Возвращает численное значение типа Long; Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число

Long

CSng(E)

Возвращает численное значение типа Single; Е - любое допустимое численное или строковое выражение, которое может быть преобразовано в число

Single

CStr(E)

Возвращает значение типа String; Е - любое допустимое численное или строковое выражение

String

CVar(E)

Возвращает значение типа Variant; Е - любое допустимое численное или строковое выражение

Variant

Chr(N)

Возвращает строку из одного символа, соответствующего коду символа N, который должен быть числом между 0 и 255 включительно. Код символа 65, например, возвращает букву «А»

Символ