Заявления о дефтипе

Используется на уровне модуля для настройки типа данных по умолчанию для переменных , аргументы передаются процедурам , а тип возврата для процедур Function и Property Get, имена которых начинаются с указанных символов.

Синтаксис

Letterrange DefBool , [ letterrange ] . . . DefByte letterrange, [ letterrange ] . . . DefInt letterrange, [ letterrange ] . . . DefLng letterrange, [ letterrange ] . . . Letterrange DefLngLng [ letterrange ] . . . (допустимо только на 64-битных платформах) Letterrange DefLngPtr [ letterrange ] . . . DefCur letterrange, [ letterrange ] . . . DefSng letterrange, [ letterrange ] . . . DefDbl letterrange, [ letterrange ] . . . Letterrange DefDec [ letterrange ] . . . DefDate letterrange, [ letterrange ] . . . DefStr letterrange, [ letterrange ] . . . DefObj letterrange, [ letterrange ] . . . Letterrange DefVar , [ letterrange ] . . .

Необходимый аргумент letterrange имеет следующий синтаксис: letter1 [ - letter2 ]

Аргументы letter1 и letter2 указывают диапазон имен, для которого вы можете задать тип данных по умолчанию. Каждый аргумент представляет первую букву переменной, аргумента, процедуры функции или имени процедуры Property Get и может быть любой буквой алфавита. Регистр букв в letterrange не имеет значения.

Примечания

Имя заявления определяет тип данных.

Statement Тип данных
DefBool Логический
DefByte Byte
DefInt 64-разрядное целое число.
DefLng Long
DefLngLng LongLong (действителен только на 64-битных платформах)
DefLngPtr LongPtr
DefCur Currency
DefSng Single
DefDbl 64-разрядное число с плавающей запятой двойной точности.
DefDec Decimal (в настоящее время не поддерживается)
DefDate Date
DefStr String
DefObj Object
DefVar Variant

Например, в следующем фрагменте программы имеется Message переменная строки.

DefStr A-Q
. . .
Message = "Out of stack space."

Оператор Deftype влияет только на тот модуль, в котором он используется. Например, оператор DefInt в одном модуле затрагивает только тип данных по умолчанию тех переменных, переданных в процедуры аргументов и типа возвращаемого значения для процедур Function и Property Get, которые объявлены в этом модуле; при этом тип данных по умолчанию для переменных, аргументов и типов возвращаемых событий в других модулях не затрагивается. При отсутствии явного объявления с помощью оператора Deftype тип данных по умолчанию для всех переменных, всех аргументов, всех процедур Function и Property Get имеет значение Variant.

При указании диапазона букв обычно определяется тип данных для переменных, которые начинаются с букв в первых 128 символах набора символов. Однако при указании диапазона букв AZ– по умолчанию устанавливается указанный тип данных для всех переменных, включая переменные, которые начинаются с международных символов из расширенной части набора символов (128255–).

После того как диапазон A-Z был задан, вы не можете далее переопределять любые подустановки переменных с помощью заявлений Deftype. После заданного диапазона, если вы включаете ранее заданное письмо в другое заявление Deftype, возникает ошибка. Тем не менее, вы можете явно указать тип данных любой переменной, определенной или нет, с помощью дим-заявления с предложением типа As.

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

DefInt A-Z
Dim TaxRate As Double

Операторы Deftype не затрагивают элементы пользовательских типов, так как эти элементы должны объявляться явно.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.