Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA-Laboratorny_praktikum.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
4.56 Mб
Скачать

9.4.Функции обработки строк

Рассмотрим действие этих функций на следующих примерах.

  1. Функции смены регистра LCase/UCase:

Sub ФункцииLCase_UCase()

Dim MyString As String

MyString = InputBox("Введите Ваше имя:")

MsgBox "Ваше имя в нижнем регистре: " & LCase(MyString), _

vbInfomation, "Смена регистра"

MsgBox "Ваше имя в верхнем регистре: " & UCase(MyString), _

vbInfomation, "Смена регистра"

End Sub

  1. Выделение подстроки:

Sub ФункцииLeftMidRight()

Dim MyString As String

MyString = "Марья Ивановна"

MsgBox "Марья Ивановна! Ваше имя: " & Left(MyString,5) & ", отчество: " & Right(MyString,8) & ", а отца звали " & _

Mid(MyString, 7, 4) & ".", vbInfomation, MyString

End Sub

  1. Определение длины строки:

Sub ФункцииLen()

Dim MyString As String

MyString = InputBox("Введите Ваше имя:")

MsgBox "Ваше имя состоит из " & Len(MyString) & _

" символов.", vbInfomation, "Длина строки"

End Sub

  1. Уничтожение пробелов. Следующую программу выполните в пошаговом режиме, предварительно открыв окно локальных переменных и наблюдая за их значениями:

Sub ФункцииTrim()

Dim MyString As String

Dim Имя As String

Имя = " Марья Ивановна "

MyString = LTrim(Имя)

MyString = RTrim(Имя)

MyString = Trim(Имя)

End Sub

  1. Проверка наличия подстроки или поиск начала вхождения:

Sub ФункцияInStr()

Dim MyString As String

MyStringVal = InStr("Марья Ивановна", "Ивановна")

If MyStringVal > 0 Then

MsgBox "В строке Марья Ивановна имеется подстрока Ивановна, и она начинается с " & MyStringVal & _

"-ой позиции.", vbInfomation, "Марья Ивановна"

End If

End Sub

9.5.Функции времени и даты

Рассмотрим основные функции времени и даты.

  1. Функция Date. Возвращает текущую системную дату:

Sub ФункцияДата()

Dim Дата As Date

Дата = Date()

MsgBox "Сегодня " & Дата, vbInfomation, "Дата"

End Sub

  1. Функция Year. Возвращает год в значении даты:

Sub ФункцияГод()

Dim Год

Год = Year(Date)

MsgBox "Сейчас " & Год & "-й год. ", vbInfomation, "Год"

End Sub

  1. Функция Month. Возвращает месяц в значении даты:

Sub ФункцияМесяц()

Dim Месяц

Месяц = Month(Date)

MsgBox "Сейчас " & Месяц & "-й месяц.", vbInfomation, _

"Месяц"

End Sub

  1. Функция Day. Возвращает месяц в значении даты:

Sub ФункцияЧисло()

Dim Число

Число = Day(Date)

MsgBox "Сейчас " & Число & "-ое число.", vbInfomation, _

"Число"

End Sub

10.Обработка ошибок: инструкция On Error

В 9.2 мы говорили о предотвращении ошибок программными средствами. Помимо этого, ошибки можно перехватывать и обрабатывать с помощью инструкции On Error.

В Модуль8 наберите следующую программу и протестируйте её:

Sub ОбратноеЧислоError ()

Dim x As Double

Dim y As Double

Dim Число As String

'Передача управления на обработчик ошибок, помеченный _

меткой Ошибка

On Error GoTo Ошибка

x = CDbl(InputBox("Введите число:"))

y = 1 / x

MsgBox "Обратное число:" & y

Exit Sub

'Обработчик ошибок

Ошибка:

MsgBox "Произошла ошибка: " & Cstr(Err.Number) & "-" & _

Err.Description, vbInformation, "Cообщение об ошибке"

Select Case Err.Number

Case 11

MsgBox "Деление на ноль запрещено!", vbExclamation, _ "Обратное число "

Case 13

MsgBox "Некорректный ввод исходного значения!", _

vbExclamation, "Обратное число"

Case Else

MsgBox "Непредвиденная ошибка!", _

vbExclamation, "Обратное число"

End Select

End Sub

Обратите внимание на 10-ю строку кода, которая обеспечивает выход из процедуры перед активизацией обработчика ошибок. В случае её отсутствия управление передается на следующую команду, т.е. будет выведено сообщение об ошибке, даже если её и нет.

Замечание:

Даже если вы предотвращаете ошибки программным способом, для перехвата непредвиденных ошибок вставляйте в программу инструкцию On Error. В ней вы можете выдать примерно такой же текст, как в 20-й строке или такой: «Программа выполнила недопустимую операцию и будет закрыта. При повторении ситуации обратитесь к разработчику!»

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]