RSS

Функции преобразования типов данных в VBA

Часто в программировании возникает необходимость перевести один тип в другой (по доступным типам данных в VB читаем в этой статье). Например, число в строку или строку в дату. Для перевода (преобразования) типов в VBA есть множество функций позволяющих это сделать. Но есть один момент, преобразовать возможно только тот тип или значение, которое подходит по формату нового типа. К примеру, если преобразовать строку «356» в целый тип, то на выходе мы получим число, но если в этой строке будет находиться символ, не относящийся к числу «356р», то преобразование завершится ошибкой несовпадения типов (Type mismatch).

В таблице ниже приведен полный список функций преобразования и тип, в который происходит преобразование:

Функция

Возвращает тип

Действие

CBool

Boolean

Преобразует значение в булевый тип

CByte

Byte

Преобразует значение в тип Byte

CCur

Currency

Преобразует значение в тип Currency

CDate

Date

Преобразует значение в Дату и Время

CDbl

Double

Преобразует значение в тип Double

CDec

Decimal

Преобразует значение в подтип Decimal типа Variant

CInt

Integer

Преобразует значение в целый тип

CLng

Long

Преобразует значение в длинное целое

CSng

Single

Преобразует значение в тип Single

CStr

String

Преобразует значение в строку

CVar

Variant

Преобразует значение в тип Variant

Использование функций преобразования типов

Работать с функциями преобразования легко. К примеру, необходимо преобразовать число 4568 в строку:

Dim OutStr as String
OutStr = CStr(4568)

Преобразование строки или числа в булевый тип

Dim OutBool as Boolean
‘Функция вернет значение True
OutBool = CBool(1)
OutBool = CBool («TRUE»)

Преобразование строки или числа в дату и время

Dim OutDate as Date
OutDate = CDate(«25/06/03 23:35»)
OutDate = CDate(«25.06.03»)
OutDate = CDate(«37797,9826388889»)

Примечание: Функции преобразования можно использовать непосредственно в выражении избегая создания лишних переменных. Например: x=y+CInt(«456»)+z