Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В программах на VBA очень часто приходится преобразовывать значения из одного типа данных в другой. Приведу несколько типичных ситуаций, когда этим приходится заниматься:
q преобразование из строкового значения в числовое при приеме значения от пользователя через InputBox();
q преобразование значения даты/времени в строковое, когда нам нужно отобразить дату или время единообразно вне зависимости от региональных настроек на компьютерах пользователей;
q преобразование значения из строкового в дату/время для применения специальных функций даты/времени.
Чаще всего для конвертации типов данных используются функции, имя которых складывается из префикса 'C' (от слова Convert) и имени типа данных. Перечень этих функций следующий: CBool(), CByte(), CCur(), CDate(), CDbl(), CDec(), CInt(), CLng(), CSng(), CStr(), CVar(), CVDate(), CVErr().
Просмотреть, что в итоге получилось, можно при помощи функции TypeName(), которая возвращает имя используемого типа данных, например:
nVar1 = CInt(InputBox("Введите значение"))
MsgBox TypeName(nVar1)
В данном случае эта функция вернет "Integer".
Кроме того, существует еще несколько полезных для конвертации функций.
q Str() — позволяет перевести числовое значение в строковое. Делает почти то же самое, что и CStr(), но при этом вставляет пробел перед положительными числами.
q Val() — "вытаскивает" из смеси цифр и букв только числовое значение. При этом функция читает данные слева направо и останавливается на первом нечисловом значении (допускается единственное нечисловое значение — точка, которая будет отделять целую часть от дробной). Очень удобно, когда у нас вперемежку с числовыми данными прописываются единицы измерения или валюта.
q IsNumeric() и IsDate() — проверяют значения на соответствие, чтобы не возникло ошибок при конвертации. Для проверки на соответствие специальным значениям можно использовать функции IsArray(),IsEmpty(), IsError(), IsMissing(), IsNull() и IsObject(). Все эти функции возвращают True или False в зависимости от результатов проверки переданного им значения.
q Hex()и Oct() — преобразовывают десятичные данные в строковое представление шестнадцатеричных и восьмеричных значений.
Дата публикования: 2014-11-28; Прочитано: 226 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!