double arrow

End Type

End Type

Пользовательские типы данных

Типы данных по умолчанию

Чтобы неописанным переменным по умолчанию не присваивался тип Variant, поместите в начало модуля инструкцию DefType. Например, чтобы присваивать всем необъявленным переменным тип Integer, вставьте перед всеми подпрограммами инструкцию

DefInt A-Z

Аргументы A-Z после ключевого слова DefInt означают, что все необъявленные переменные, имена которых начинаются с А—Z (независимо от регистра), будут считаться целыми. Средствами нескольких инструкций DefType можно задать, чтобы тип переменной определялся по первой букве ее имени. Например, если Вы вставите в начало модуля приведенные ниже инструкции, все переменные с именами, начинающимися на I, приобретут тип Integer, переменные с буквы S — тип String, переменныe с буквы С — тип Currency.

DefInt I

DefStr S

DefCur С

Если в начале модуля нет инструкций DefType, всем необъявленным переменным будет присвоен тип Variant.

Замечание:

В одной строке кода VBA можно размещать несколько инструкций, разделяя их двоеточием, как показано в примере.

DefInt I: DefStr S: DefCur С

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

Type Персона

Имя As String

ДатаРождения As Date

Возраст As Integer

Рассмотрим компоненты этого определения пользовательского типа.

Туре Ключевое слово, отмечающее начало определения типа

Персона Имя пользовательского типа

Имя As String Первый элемент пользовательского типа

ДатаРождения As Date Второй элемент пользовательского типа

Возраст As Integer Третий элемент пользовательского типа

End Type Ключевые слова, отмечающие конец определения типа.

Когда эта инструкция помещена в начало модуля, она определяет пользовательский тип Персона, состоящий из трех элементов — строки Имя, целого числа Возраст и даты ДатаРождения. Как используется переменная такого типа? Взгляните на пример.

Type Персона

Имя As String

ДатаРождения As Date

Возраст As Integer

Sub ПользовательскийТипПеременной()

Dim User1 As Персона

User1.Имя = "Иванов”

User1.ДатаРождения = #2/23/75#

User1.Возраст = Year(Date) - Year(User1.ДатаРождения)

MsgBox User1. Имя & ", возраст " & User1.Возраст & _

" дата рождения " & User1.ДатаРождения


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: