Преобразование типов
Чтобы типы можно было преобразовывать во время выполнения программы, в VBA предусмотрены специальные функции – функции преобразования типов данных. Все они принимают в качестве аргумента значение типа Variant и возвращают значение соответствующего типа. Ниже приведен формат функций преобразования типов данных:
CBool(Выражение)
CByte(Выражение)
CCur(Выражение)
CDate(Выражение)
CDbl(Выражение)
CDec(Выражение)
CInt(Выражение)
CLng(Выражение)
CSng(Выражение)
CStr(Выражение)
CVar(Выражение)
Далее приведены примеры использования этих функций (переменная varRes имеет тип Variant, а переменная strRes – тип String):
varRes = CDec(12.4635246) / CDec(3.14169265359)
strRes = CStr(12.3535)
В результате выполнения приведенных инструкций переменная varRes будет содержать значение типа Decimal (использование функции CDec – это единственный способ оперировать с типом данных Decimal), а в переменную strRes будет записано значение «12.3535».
Примечание
При использовании функции CBool необходимо помнить, что к значению True преобразуется любое значение аргумента, не равное нулю. Передавать в функцию CBool разрешается только численные значения. Интересным образом также ведут себя инструкции преобразования к целочисленным типам Clnt, CLng и CByte при наличии дробной части в аргументе. Эти функции округляют дробное число до ближайшего целого четного числа.