Функции

 

     A-C

 

По порядку:

Abs

Array

Asc

Atn

CBool,

CByte,

CStr,

Cos

Chr

Choose

Command

CreateObject

CurDir

CVErr

 

 

A

Abs (number) - возвращает модуль числа.

Пример:

Dim MyNumber
MyNumber = Abs(50.3)  ' возвратит 50.3.
MyNumber = Abs(-50.3) ' возвратит 50.3.

 

 

Array (arglist) - возвращает переменную типа variant содержащую массив.

Пример:

Dim MyWeek, MyDay
MyWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
     'Возвращает значение с нижней границей массива равной
1
MyDay = MyWeek(2) ' Теперь MyDay содержит"Tue".
MyDay = MyWeek(4) ' Теперь MyDay содержит "Thu".

 

 

Asc (string) - возвращает код первого символа в строке параметре.

Пример:

Dim MyNumber
MyNumber = Asc("A") ' Возвратит 65.
MyNumber = Asc("a") ' Возвратит 97.
MyNumber = Asc("Apple") ' Возвратит 65.

Замечание:

 

AscB - используется со срокой, длина которой 1 байт

 

AscW - возвращает двухбайтовый код unicode. (В системах Unix)

 

 

Atn (number) - возвращает арктангенс числа.

Пример:

Dim pi
pi = 4 * Atn(1) ' Вычисляет значение числа pi.

 

 

C

 

Серия ф-ций конвертирования типов:

 

CBool (expression) - возвразает boolean значение
CByte (expression) - возвращает значение типа Byte
CCur (expression) - возвращает значение типа Currency
CDate (expression) - возвращает значение типа Date
CDbl (expression) - возвращает значение типа Double
CDec (expression) - возвращает значение типа Decimal
CInt (expression) - возвращает значение типа Integer
CLng (expression) - возвращает значение типа Long
CSng (expression) - возвращает значение типа Single
CVar (expression) - возвращает значение типа Variant
CStr (expression) - возвращает значение типа String


Примеры всех этих ф-ций:

CBool

Dim A, B, Check
A = 5: B = 5         ' Инициализация переменных.
Check = CBool(A = B) ' Check содержит True.

A = 0                ' Инициализация переменной.
Check = CBool(A)     ' Check содержит False.

 

CByte

Dim MyDouble, MyByte
MyDouble = 125.5678      ' MyDouble имеет тип Double.
MyByte = CByte(MyDouble) ' MyByte содержит 126.

 

CCur

Dim MyDouble, MyCurr
MyDouble = 543.214588       ' MyDouble имеет тип Double.
MyCurr = CCur(MyDouble * 2) ' Конвертирует результат MyDouble * 2

' Double - (1086.429176).
' Currency - (1086.4292).

 

CDate

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"       ' Запись даты в переменную MyDate.
MyShortDate = CDate(MyDate)        ' Конвертирование в тип Date.

MyTime = "4:35:47 PM"              ' Запись времени в переменную MyTime.
MyShortTime = CDate(MyTime)        ' Конвертирование в тип Date.

 

CDbl

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)            ' MyCurr имеет тип Currency.
MyDouble = CDbl(MyCurr * 8.2 * 0.01) 'Конвертирует результат в Double.

 

CInt

Dim MyDouble, MyInt
MyDouble = 2345.5678   ' MyDouble имеет тип Double.
MyInt = CInt(MyDouble) ' MyInt содержит 2346.

 

CLng

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45: MyVal2 = 25427.55 'MyVal1, MyVal2 имеют тип Double.
MyLong1 = CLng(MyVal1)               ' MyLong1 содержит 25427.
MyLong2 = CLng(MyVal2)               ' MyLong2 содержит 25428.

 

CSng

Dim MyDouble1, MyDouble2, MySingle1, MySingle2
                            ' MyDouble1, MyDouble2 имеют тип Double.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1) ' MySingle1 содержит 75.34211.
MySingle2 = CSng(MyDouble2) ' MySingle2 содержит 75.34216.

 

CStr

Dim MyDouble, MyString
MyDouble = 437.324        ' MyDouble имеет тип Double.
MyString = CStr(MyDouble) ' MyString содержит "437.324".

 

CVar

Dim MyInt, MyVar
MyInt = 4534                ' MyInt имеет тип Integer.
MyVar = CVar(MyInt & "000") 'MyVar содержит значение String "4534000".

 

 

Cos (number) - вычисляет косинус числа.

Пример:

Dim MyAngle, MySecant
MyAngle = 1.3               ' Устанавливаем угол в радианах.
MySecant = 1 / Cos(MyAngle) ' Вычисляем секанс.

 

 

Chr (charcode) - возвращает символ, соответствующий определённому коду. Эта ф-ция является обратной Asc.

Пример:

Dim MyChar
MyChar = Chr(65) ' Возвратит A.
MyChar = Chr(97) ' Возвратит a.
MyChar = Chr(62) ' Возвратит >.
MyChar = Chr(37) ' Возвратит %.

 

Choose (index, choice-1[, choice-2, ... [, choice-n]]) - выбирает значение из списка аргументов.

Пример:

Function GetChoice(Ind As Integer)
GetChoice = Choose(Ind, "Speedy", "United", "Federal")
End Function

Замечание:

Можно ускорить код с использованием Choose:
Вы можете использовать Choose там, где можно заменить массив или построить таблицы результатов, на стадии компиляции (compile-time), вместо того, чтобы делать это на стадии выполнения (run time). Например, если Вам надо знать значения факториалов чисел от 1 до 10, попробуйте следующий пример (Choose производит выбор факториала из набора имеющихся значений всесто того, чтобы высчитывать факториал каждый раз заново):

Function Factorial (number As Integer) As Long
Factorial = Choose(number, 1, 2, 6, _
24, 120, 720, 5040, 40320, _
362880, 3628800)
End Function

 

Command - возвращает аргументы с командной строки (т.е. если запустить программу из командной строки, например: myprogram.exe arguments)

Пример:

Этот пример использует функцию Command для получения аргументов с командной строки. Функция GetCommandLine возвратит значение типа Variant содержащее их массив.

Function GetCommandLine(Optional MaxArgs)


Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
If IsMissing(MaxArgs) Then MaxArgs = 10
                        'Приводим массив в корректный размер
ReDim ArgArray(MaxArgs)
NumArgs = 0: InArg = False
                        'Получаем аргументы с командной строки.
CmdLine = Command()
CmdLnLen = Len(CmdLine)
                        'Перемещаемся по всем символам в командной строке
For I = 1 To CmdLnLen
C = Mid(CmdLine, I, 1)

                        'Тестируем на пробел или символ табуляции.
If (C <> " " And C <> vbTab) Then
                        'Если ни то и ни другое.
                        'Тест на текущий аргумент.
If Not InArg Then
                        'Новый аргумент начался.
                        'Тестируем на слишком большое кол-во аргументов.
If NumArgs = MaxArgs Then Exit For
NumArgs = NumArgs + 1
InArg = True
End If
                        'Соединение символа с текущим аргументом.
ArgArray(NumArgs) = ArgArray(NumArgs) & C
Else
                        'Ищем пробел или символ табуляции.
InArg = False
End If
Next I
ReDim Preserve ArgArray(NumArgs)
                        'Возвращаем массив как результат ф-ции.
GetCommandLine = ArgArray()

End Function

 

 

CreateObject (class) - возвращает ссылку на объект ActiveX класса class

Пример:

Dim xlApp As Object     ' Объявляем переменную типа Object.

Set xlApp = CreateObject("excel.application")
                        ' Должны изменить свойство Visible в True, если хотите,
                        ' чтобы проект Excel был виден

xlApp.Visible = True
                        ' Используем xlApp для доступа к другим объектам

                          Microsoft Excel's.
xlApp.Quit              ' Когда вы закончили, используйте
                        ' Quit метод для закрытия Excel
Set xlApp = Nothing     ' Сбрасываем ссылку

 

 

CurDir [(drive)] - возвращает String, содержащий текущий путь

Пример:

                        ' Предположим, что текущим путь на диске C -                          "C:\WINDOWS\SYSTEM".
                        ' Предположим, что текущим путь на диске D - "D:\EXCEL".
                        ' Предположим, что текущий диск - диск C.

Dim MyPath
MyPath = CurDir         ' возвратит "C:\WINDOWS\SYSTEM".
MyPath = CurDir("C")    ' возвратит "C:\WINDOWS\SYSTEM".
MyPath = CurDir("D")    ' возвратит "D:\EXCEL".

 

CVErr (error number) - возвращает Variant субтипа Error, содержащий код ошибки, определённый пользователем.

Пример:

                             ' Вызывает CalculateDouble с аргументом, приводящим

                               к ошибке.
Sub Test()
Debug.Print CalculateDouble("345.45robert")
End Sub

                             ' Определение ф-ции CalculateDouble.
Function CalculateDouble(Number)
If IsNumeric(Number) Then
CalculateDouble = Number * 2 ' Возвращает результат.
Else
CalculateDouble = CVErr(2001)' Возвращает номер ошибки,
                             ' определённый пользователем.
End If
End Function

 
Вернутся на главную   Вернутся на предыдущую.
Rambler's Top100   

 

Сайт управляется системой uCoz