Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Знакомство c Visual Basic.pdf
Скачиваний:
30
Добавлен:
02.06.2015
Размер:
4.34 Mб
Скачать

розрйЯ Япвтлдмснб.

Опзлдп:

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

14.3.4 Command

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

14.3.5 CreateObject

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 ' Сбрасываем ссылку

14.3.6 CurDir

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".

14.3.7 CVErr

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

14.4 D

14.4.1 Date

Date - бнжбпЯшЯдс сдйтштэ гЯст.

Опзлдп:

Dim MyDate

MyDate = Date ' MyDate содержит текущую системную дату.

14.4.2 DateAdd

DateAdd (interval, number, date) - БнжбпЯшЯдс гЯст, б йнснпни й date

гнаЯбкюдс бпдлдммни змсдпбЯк.

ОЯпЯлдсп interval лнедс опзмзлЯсы ркдгтэшзд жмЯцдмзю: yyyy - Внг

q - ЙбЯпсЯк m - Лдрюх

y - Гдмы внгЯ d - Гдмы

w - Гдмы мдгдкз ww - Мдгдкю

h - ЦЯр

n - ЛзмтсЯ s - РдйтмгЯ

number - йнкзцдрсбн змсдпбЯкнб, йнснпъд бъ фнсзсд гнаЯбзсы.

Опзлдп:

Dim FirstDate As Date

Dim IntervalType As String

Dim Number As Integer

IntervalType = "m"

'"m" устанавливает в качестве интервала - месяцы. FirstDate = Date

Number = InputBox("Введите кол-во месяцев для добавки")

MsgBox = "Новая дата: " & _

DateAdd(IntervalType, Number, FirstDate)

14.4.3 DateDiff

DateDiff (interval, date1, date2[, firstdayofweek[, firstweekofyear]]) - бнжбпЯшЯдс