Встроенные функции VBA
Как вы знаете, в VBA имеется большой набор встроенных функций, которые раздвигают горизонты решаемых задач, делают возможным разработку приложений для любых сфер деятельности. В Модуль7 наберите следующие программы и протестируйте их. Математические функции 1. Пример использования функции Sin: Sub ФункцияSin() Dim Num1 Dim Num2 Num1 = Число Num2 = Sin(Num1) MsgBox "Sin ( " & Num1 & " ) = " & Num2, "Синус числа" End Sub Function Число() Число = InputBox("Введите число:", "Синус числа") End Function Функции проверки типов Незаменимую роль в выявлении и перехвате ошибок играют функции проверки типов. Например, в предыдущем примере, если пользователь забудет ввести число, или щелкнет по кнопке Cancel или вместо числа введет символьную строку, возникнет аварийный останов. Первые две ситуации (ввод пустого значения) можно «отловить», воспользовавшись функцией IsEmpty, которая проверяет, является ли переменная пустой или ей присвоено значение: If IsEmpty(Num1) = False Then Exit Sub[10] Для выявления символьной строки воспользуемся функцией IsNumeric. С внесенными изменениями программа ФункцияSin примет вид: Sub ФункцияSin() Dim Num1 Dim Num2 Num1 = Число If IsEmpty(Num1) = False Then Exit Sub If IsNumeric(Num1) = False Then MsgBox "Некорректный ввод исходного значения!", _ vbExclamation, "Синус числа" Exit Sub End If Num2 = Sin(Num1) MsgBox "Sin ( " & Num1 & " ) = " & Num2 End Sub Задание: 1. Модифицируйте программу ОбратноеЧисло таким образом, чтобы она работала корректно (т.е. были исключены ошибки выполнения: деление на ноль, ввод пустого значения или символьной строки). Функции преобразования форматов Позволяют конвертировать один тип данных в другой. Это актуально, когда наблюдается несоответствие типов между используемым и требуемым значениями, например, аргументом встроенной функции должно быть число, а передаваемое в неё значение является строкой и т.д. Полный перечень функций преобразования типов вы найдете в справочной системе, здесь же рассмотрим некоторые из них: 1. Sub ФункцияCInt() 'Переводит число в целочисленный формат: Dim MyDouble, MyInt MyDouble = 2345.5678 MyInt = CInt(MyDouble) MsgBox "Число " & MyDouble & _ " в целочисленном формате запишется как " & MyInt, _ vbInfomation, "Целочисленный формат" End Sub 2. Следующие две программы выполните в пошаговом режиме, предварительно открыв окно локальных переменных и наблюдая за их значениями: Sub ФункцииStr_CStr() Dim MyString1 As String Dim MyString2 As String
MyString1 = Str(459) MyString2 = CStr(459)
MyString1 = Str(-459.65) MyString2 = CStr(-459.65)
MyString1 = Str(459.001) MyString2 = CStr(459.001) End Sub
Sub ФункцияVal() Dim MyValue MyValue = Val("2345") MyValue = Val(" 2 34 5") MyValue = Val("23 and 45") End Sub Функции обработки строк Рассмотрим действие этих функций на следующих примерах. 1. Функции смены регистра LCase/UCase: Sub ФункцииLCase_UCase() Dim MyString As String MyString = InputBox("Введите Ваше имя: ") MsgBox "Ваше имя в нижнем регистре: " & LCase(MyString), _ vbInfomation, "Смена регистра" MsgBox "Ваше имя в верхнем регистре: " & UCase(MyString), _ vbInfomation, "Смена регистра" End Sub 2. Выделение подстроки: Sub ФункцииLeftMidRight() Dim MyString As String MyString = "Марья Ивановна" MsgBox "Марья Ивановна! Ваше имя: " & Left(MyString,5) & ", отчество: " & Right(MyString,8) & ", а отца звали " & _ Mid(MyString, 7, 4) & ".", vbInfomation, MyString End Sub 3. Определение длины строки: Sub ФункцииLen() Dim MyString As String MyString = InputBox("Введите Ваше имя:") MsgBox "Ваше имя состоит из " & Len(MyString) & “ символов.”, vbInfomation, "Длина строки" End Sub 4. Уничтожение пробелов. Следующую программу выполните в пошаговом режиме, предварительно открыв окно локальных переменных и наблюдая за их значениями: Sub ФункцииTrim() Dim MyString As String Dim Имя As String Имя = " Марья Ивановна " MyString = LTrim(Имя) MyString = RTrim(Имя) MyString = Trim(Имя) End Sub 5. Проверка наличия подстроки или поиск начала вхождения: Sub ФункцияInStr() Dim MyString As String MyStringVal = InStr(“Марья Ивановна”, “Ивановна”) If MyStringVal > 0 Then MsgBox "В строке Марья Ивановна имеется подстрока Ивановна, и она начинается с " & MyStringVal & _ "-ой позиции.", vbInfomation, “Марья Ивановна” End If End Sub Функции времени и даты Рассмотрим основные функции времени и даты. 1. Функция Date. Возвращает текущую системную дату: Sub ФункцияДата() Dim Дата As Date Дата = Date() MsgBox "Сегодня " & Дата, vbInfomation, “Дата” End Sub 2. Функция Year. Возвращает год в значении даты: Sub ФункцияГод() Dim Год Год = Year(Date) MsgBox "Сейчас " & Год & “-й год.“, vbInfomation, “Год” End Sub 3. Функция Month. Возвращает месяц в значении даты: Sub ФункцияМесяц() Dim Месяц Месяц = Month(Date) MsgBox "Сейчас " & Месяц & "-й месяц.", vbInfomation, _ "Месяц" End Sub 4. Функция Day. Возвращает месяц в значении даты: Sub ФункцияЧисло() Dim Число Число = Day(Date) MsgBox "Сейчас " & Число & "-ое число.", vbInfomation, _ "Число" End Sub
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1179)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |