Телефон: +7 (495) 649-0526

Расширенные типы данных и функции в Visual Basic (VBA)

Картинка к странице

Следующая статья:

Содержание

Тип, определяемый пользователем

VBA позволяет пользователю определять свои собственные типы данных. Определенный пользователем тип нужен, когда одной переменной необходимо обозначить несколько связанных по смыслу элементов данных, причем эти элементы данных могут быть разных типов. Пример структурного типа приведен на рисунке. Тип Book состоит из трех элементов: Title (название книги) имеет тип String, Content – динамический массив строкового типа, содержащий название глав книги, Author (автор книги), который, в свою очередь, тоже является структурным типом, состоящим из двух простых элементов – Name (имя) и Birthday (день рождения).

Пример структурного типа, определяемый пользователем

Пример структурного типа, определяемый пользователем

Для объявления такого типа данных используется оператор Туре:

Туре <имяТипа>

…<имяЭлемента1> [([<размер1>])] As <типДанных1>

…<имяЭлемента2> [([<размер2>])] As <типДанных2>

End Туре

Элементами типа могут быть простые переменные и массивы встроенных типов, а также переменные и массивы других определенных пользователем типов. Типы Book и Person могут быть объявлены следующим образом:

Type Person

Name As String

Birthday As Date

End Type

Type Book

author As Person

Title As String

Content () as String

End Type

Объявление переменных структурного типа выполняется так же, как и обычных переменных:

Dim MyBook As Book, Editor As Person

Обращение к элементу структурного типа выполняется следующим образом:

MyBook.Title=«Учебник»

ReDim MyBook.Content (0 to 10)

MyBook.Content(0)=«От автора»

Перечисляемый тип

Еще одним видом структурного типа данных является перечисляемый тип. Элементами перечисляемого типа являются все его значения. Определяется перечисляемый тип с помощью оператора Enum:

Enum <имяТипа> <имяЗначения1> [=<Константа>] <имяЗначения2>

[=<Константа>]

End Enum

По умолчанию все значения типа перенумеровываются целыми числами, начиная с 0, но можно самостоятельно указать константное целое значение для значений типа.

Примером перечисляемого типа данных является встроенный логический тип Boolean.

Enum Boolean False

True End Enum

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

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

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

Схема преобразования данных без потерь

Схема преобразования данных без потерь

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, например, возвращает букву «А» Символ

Видео: «Это не то, о чем вы подумали»

Невыдуманные ситуации, иногда случающиеся с каждым из нас

Это не то, о чем вы подумали
Интересное в интернете: Вип такси уборная. Вип такси мерседес заказ в Москве, аренда бизнес авто для свадьбы.

Статья: Расширенные типы данных и функции в Visual Basic (VBA)

Раздел: VBA программирование (office)

Сайт: SD Company » Все разделы статей

Последнее изменение: 2010.11.16 в 07:27

Теги: типы переменных, vba

Следующая статья:

Основные типы переменных и функции в Visual Basic (VBA)
Основные типы переменных и функции в Visual Basic (VBA)
Обзор типов данных Visual Basic (VBA) представлены в щей итоговой таблице для удобства чтения
Дополнительные элементы управления в Visual Basic (VBA)
Дополнительные элементы управления в Visual Basic (VBA)
Описание дополнительных, но стандартных элементов управления в Visual Basic (VBA)
Форматирование документа средствами Visual Basic (VBA)
Форматирование документа средствами Visual Basic (VBA)
Описание особенностей работы на Visual Basic (VBA) в Word при автоматизации форматирования различных документов
Объектно ориентированное программирование на Visal Basic (VBA)
Объектно ориентированное программирование на Visal Basic (VBA)
Понимание объектов в основе программирования в Visual Basic (VBA), когда дело касается создания пользовательских диалоговых окон
Видеоадаптеры и их функционал
Видеоадаптеры и их функционал
Полное описание функционала различных, основных видеоадаптеров на текущий периода 2010 года