Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Пример использования функции CChar




В следующем примере используется CChar функцию для преобразования первого символа Stringвыражение Char типа.

VBКопировать

Dim aString As StringDim aChar As Char' CChar converts only the first character of the string.aString = "BCD"' The following line of code sets aChar to "B".aChar = CChar(aString)

Входной аргумент для CChar должен иметь тип данных Char или String. Нельзя использовать CCharдля преобразования числа в символ, поскольку CChar не может принимать числового типа данных. В следующем примере получается число, представляющее кодовую точку (код знака) и преобразует его в соответствующий символ. Она использует InputBox функции для получения строки из цифр, CInt для преобразования строки в тип Integer, и ChrW для преобразования числа к типу Char.

VBКопировать

Dim someDigits As StringDim codePoint As IntegerDim thisChar As CharsomeDigits = InputBox("Enter code point of character:")codePoint = CInt(someDigits)' The following line of code sets thisChar to the Char value of codePoint.thisChar = ChrW(codePoint)

Пример использования функции CDate

В следующем примере используется CDate функцию для преобразования строк для Date значения. В общем случае не рекомендуется жестко запрограммированные значения даты и время в виде строк (как показано в следующем примере). Используйте литералы даты и времени, например #Feb 12, ޱ и # 4:45:23 PM #, вместо этого.

VBКопировать

Dim aDateString, aTimeString As StringDim aDate, aTime As DateaDateString = "February 12, 1969"aTimeString = "4:35:47 PM"' The following line of code sets aDate to a Date value.aDate = CDate(aDateString)' The following line of code sets aTime to Date value.aTime = CDate(aTimeString)

Пример использования функции CDbl

VBКопировать

Dim aDec As DecimalDim aDbl As Double' The following line of code uses the literal type character D to make aDec a Decimal.aDec = 234.456784D' The following line of code sets aDbl to 1.9225456288E+1.aDbl = CDbl(aDec * 8.2D * 0.01D)

Пример использования функции CDec

В следующем примере используется CDec функцию для преобразования числовых значений для Decimal.

VBКопировать

Dim aDouble As DoubleDim aDecimal As DecimalaDouble = 10000000.0587' The following line of code sets aDecimal to 10000000.0587.aDecimal = CDec(aDouble)

Пример использования функции CInt

В следующем примере используется CInt функции, чтобы преобразовать значение в Integer.

VBКопировать

Dim aDbl As DoubleDim anInt As IntegeraDbl = 2345.5678' The following line of code sets anInt to 2346.anInt = CInt(aDbl)

Пример использования функции CLng

В следующем примере используется CLng функцию для преобразования значения Long.

VBКопировать

Dim aDbl1, aDbl2 As DoubleDim aLng1, aLng2 As LongaDbl1 = 25427.45aDbl2 = 25427.55' The following line of code sets aLng1 to 25427.aLng1 = CLng(aDbl1)' The following line of code sets aLng2 to 25428.aLng2 = CLng(aDbl2)

Пример использования функции CObj

В следующем примере используется CObj функцию для преобразования числовых значений для Object. Object Переменная содержит только 4 байтовый указатель, указывающая на Doubleприсвоенного значения.

VBКопировать

Dim aDouble As DoubleDim anObject As ObjectaDouble = 2.7182818284' The following line of code sets anObject to a pointer to aDouble.anObject = CObj(aDouble)

Пример использования функции CSByte

В следующем примере используется CSByte функцию для преобразования числовых значений для SByte.

VBКопировать

Dim aDouble As DoubleDim anSByte As SByteaDouble = 39.501' The following line of code sets anSByte to 40.anSByte = CSByte(aDouble)

Пример использования функции CShort

В следующем примере используется CShort функцию для преобразования числовых значений для Short.

VBКопировать

Dim aByte As ByteDim aShort As ShortaByte = 100' The following line of code sets aShort to 100.aShort = CShort(aByte)

Пример использования функции CSng

В следующем примере используется CSng функцию для преобразования значения Single.

VBКопировать

Dim aDouble1, aDouble2 As DoubleDim aSingle1, aSingle2 As SingleaDouble1 = 75.3421105aDouble2 = 75.3421567' The following line of code sets aSingle1 to 75.34211.aSingle1 = CSng(aDouble1)' The following line of code sets aSingle2 to 75.34216.aSingle2 = CSng(aDouble2)

Пример использования функции CStr

В следующем примере используется CStr функцию для преобразования числовых значений для String.

VBКопировать

Dim aDouble As DoubleDim aString As StringaDouble = 437.324' The following line of code sets aString to "437.324".aString = CStr(aDouble)

В следующем примере используется CStr функцию для преобразования Date значения Stringзначения.

VBКопировать

Dim aDate As DateDim aString As String' The following line of code generates a COMPILER ERROR because of invalid format.' aDate = #February 12, 1969 00:00:00#' Date literals must be in the format #m/d/yyyy# or they are invalid.' The following line of code sets the time component of aDate to midnight.aDate = #2/12/1969#' The following conversion suppresses the neutral time value of 00:00:00.' The following line of code sets aString to "2/12/1969".aString = CStr(aDate)' The following line of code sets the time component of aDate to one second past midnight.aDate = #2/12/1969 12:00:01 AM#' The time component becomes part of the converted value.' The following line of code sets aString to "2/12/1969 12:00:01 AM".aString = CStr(aDate)

CStrвсегда выводит Date значение в стандартном кратком формате для текущего языкового стандарта, например, «6/15/2003 4:35:47 PM». Тем не менее CStr подавляет нейтральные значения из 1/1/0001 00:00:00, время и даты.

Дополнительные сведения по значениям, возвращаемым методом CStr, в разделе возвращаемые значения функции CStr.

Пример использования функции CUInt

В следующем примере используется CUInt функцию для преобразования числовых значений для UInteger.

VBКопировать

Dim aDouble As DoubleDim aUInteger As UIntegeraDouble = 39.501' The following line of code sets aUInteger to 40.aUInteger = CUInt(aDouble)

Пример использования функции CULng

В следующем примере используется CULng функцию для преобразования числовых значений для ULong.

VBКопировать

Dim aDouble As DoubleDim aULong As ULongaDouble = 39.501' The following line of code sets aULong to 40.aULong = CULng(aDouble)

Пример CUShort

В следующем примере используется CUShort функцию для преобразования числовых значений для UShort.

VBКопировать

Dim aDouble As DoubleDim aUShort As UShortaDouble = 39.501' The following line of code sets aUShort to 40.aUShort = CUShort(aDouble)

 

Константы и переменные

 

 

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

Что такое переменные?

Переменная это некоторое выделенное пространство в памяти компьютера, которое может содержать данные разных типов – числовые, текстовые, логические и т.д. (о типах данных в VBA рассказано в этой статье), а так же результаты вычислений. Значение переменной присваивается с помощью знака равенства. Для удобства работы с переменными в языках программирования предусмотрена возможность задания человеко-понятных имен, к примеру, имена переменных rFIO, rBirthday. К именам переменных в VBA имеется ряд требований:

  • Переменная может содержать латинские символы, числа. Использование пробела и точки в имени переменной недопустимо (вместо пробела программисты используют знак "_");
  • Имя переменной должно начинаться с текстового символа (числа в начале не допустимы);
  • Не допускается использование следующих символов: #, $, %, &, !. Эти символы в VBA зарезервированы за кратким указанием типа переменной без ее описания. К примеру: содержание символа $ (MyTxt$) в конце имени переменной указывает, что значение хранимое в этой переменной текстового типа;
  • Недопустимо использование зарезервированных слов. Если все ж для понимания назначения переменной необходимо использование в имени зарезервированного слова, то можно добавить некоторый символ или символы, например: Date зарезервировано (тип дата), для использования можно добавить "My", после чего получим допустимое - MyDate;
  • Имя переменной не должно быть длиннее 254 символов. Но я не думаю, что кому-то придет в голову для переменной задавать имя длиннее 15-20 символов, не говоря уже о 254;
  • Язык VB не чувствителен к регистру, поэтому переменные MyVar и myvar для VBA одинаковы.

Пара советов по именованию переменных. Давайте имена переменным понятные, но в тоже время короткие т.к. с длинными именами сложнее работать. VBA позволяет описывать переменные в любой области кода, что в дальнейшем, при большом кол-ве строк программного кода может вызвать затруднение с поиском и определением типа. Из своего опыта советую не лениться описывать все переменные в начале процедуры или функции, определив, таким образом, некоторый блок переменных. Можно также оставить комментарии с подробным описанием назначения переменной.

Описание переменных в VBA

Под описанием переменной подразумевается указание типа данных. В VBA переменные можно указывать явным и неявным образом. Не явным образом означает, что Вы можете в любом месте кода указать имя переменной и начать с ней работать, в таком случае тип этой переменной принимается как Variant. Такой способ удобен, но не рекомендуется т.к. может возникнуть путаница и как следствие, ошибки при вычислениях. Явное описание осуществляется после ключевого слова Dim [имя переменной] As [Тип], например:DimMyInt As Integer. В случае такого описания переменная MyInt будет хранить в памяти только значения целого типа.










Последнее изменение этой страницы: 2018-04-12; просмотров: 262.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...