- •Высшего профессионального образовании
- •3. Эффекты, которые искажают качество объекта:
- •Объекты, свойства и методы vba.
- •Типы данных.
- •Встроенные типы данных.
- •Переменные и их объявление.
- •Объявление и присваивание объектных переменных.
- •Использование встроенных функций Visual Basic.
- •Математические функции
- •Строковые функции:
- •2.Логически прерываемые
- •Встроенные диалоговые окна.
- •Диалоговые окна приложения.
- •4.1.Создать слайд №27 “Правильный ответ” (рисунок 21).
- •4.2Создать слайд №28 “Неправильный ответ” (рисунок 22).
- •5. Создать слайд №29-подведение итогов (рисунок 23).
Использование встроенных функций Visual Basic.
Рассмотренные выше операции дают возможность осуществлять основные математические действия, более сложные вычисления производятся с помощью встроенных функций. Visual Basic оперирует этими функциями подобно Excel, с тем отличием , что они всегда возвращают единичное значение. Функции Excel могут применяться к целым массивам чисел и возвращать массивы в качестве результатов. Чтобы обработать массив значений с помощью функции Visual Basic, нужно применить эту функцию к каждому элементу массива в отдельности.
Математические функции
-
Функция
Описание
Atn
Возвращает арктангенс числа
Sin
Возвращает синус угла в радианах
Cos
Возвращает косинус угла в радианах
Tan
Возвращает тангенс угла в радианах
Exp
Возвращает е^х
Log
Возвращает натуральный логарифм числа (основание е=2.71828…)
Sqr
Возвращает квадратный корень числа
Randomize
Инициирует генератор случайных чисел
Rnd
Возвращает случайное число
Abs
Возвращает абсолютную величину числа
Sgn
Возвращает знак числа
Fix
Округляет число отсечением дробной части
Int
Округляет число до ближайшего меньшего целого
Математические функции, приведенные в таблице, обычно требуют в качестве аргумента единичное значение, некоторым образом его трансформируют и возвращают также одно число. Тригонометрические функции Sin ( ), Cos ( ), Tan ( ) применяются к углам в радианах и преобразовывают их в соответствующую тригонометрическую величину.
Строковые функции:
-
Функция
Описание
StrComp
Сравнивает две строки
LCase
Преобразовывает строку в нижний регистр
UCase
Преобразовывает строку в верхний регистр
Space
Создает строку пробелов
String
Создает строку символов
Len
Определяет длину строки
Instr
Ищет подстроку
Lset
Выравнивает строку по левому краю
Rset
Выравнивает строку по правому краю
Str
Преобразовывает число в строку
Val
Преобразовывает строку в число
Пример:
В= «ЯнвФевМарАпрМайИюнИюлАвгСенОктНояДек»
Lсase, после преобразований:
B = «янвфевмарапрмайиюниюлавгсеноктноядек»
Uсase, после преобразований:
B = «янвфевмарапрмайиюниюлавгсеноктноядек»
Len (B), после вычислений B = 36
instr (B,"Июл"), после выполнения функции: B = 19
Оператор присваивания - это основа всех вычислений в VBA, так как любая рассчитанная величина должна стать переменной, чтобы ее можно было хранить. Знак «=» является оператором присваивания, который предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части.
В правой части располагается выражение в виде формулы, в качестве которой может выступать отдельная величина или выражение, состоящее из переменных, констант, операций и функций. Переменная, располагающаяся слева, может быть простой переменной, элементом массива или свойством объекта.
Примеры операторов присваивания:
Filename = " c:\vba\exampl.xls"
Sales = Units * Prise
Profit = Sales - Cost
Coords (3,2) = 19.37
Selection.Values = 25
ActiveWindow . ScrollRow = 1
Первые три оператора присваивают значениям переменным, четвертый присваивает значение элементу массива, а все остальные присваивают значения свойствам.
Таким способом нельзя присвоить значения только объектам - они требуют специального оператора присваивания Set.
Исключением является оператор присваивания « : = ». В отличие от ранее описанного оператора присваивания «=», он применяется только по отношению к параметрам процедуры.
Sub Assistant (a, b)
c = a + b
Msgbox Cstr (c)
End Sub
Sub Main( )
Assistant a:= 1, b:= 3
End Sub
В данном примере при вызове процедуры Assistant передача параметров осуществляется присвоением значений именам параметров с помощью оператора присваивания «:=». При выполнении данной процедуры переменной С присваивается значение суммы переданных параметров с использованием оператора присваивания «=».
Условный оператор If-Then-else обеспечивает передачу управления в программе в зависимости от выполнения условия.
Синтаксис:
If <условие> Then <блок_операторов_1>
Else <блок_операторов_2>
End If
В условном операторе допустимо использование как блока операторов, так и любого из операторов. В операторе условия Оператор_1 или Блок_операторов_1 выполняется если <условие> истинно, в противном случае выполняется Оператор_2 или Блок_операторов_2.
Условие - это выражение логического типа. Результат выражения всегда имеет булевский тип. Выражение может быть простым и сложным. При записи простых условий могут использоваться все возможные операции отношения, указанные в таблице 2.
Таблица 1. Логическое отношение.
Операция |
Название |
Выражение |
Результат |
= |
равно |
А = В |
True, если А равно В |
<> |
не равно |
A<>B |
True, если А не равно В |
> |
больше |
A>B |
True, если А больше В |
< |
меньше |
A<B |
True, если А меньше В |
>= |
больше или равно |
A>=B |
True, если А больше или равно В |
<= |
меньше или равно |
A<=B |
True, если А меньше или равно В |
Сложные условия образуются из простых путем применения логических операций и круглых скобок. Список логических операций приведен в таблице 2.
Ветвь Else в условном операторе является необязательной. Таким образом, возможен следующий синтаксис оператора условия:
If <условие> Then <оператор или блок_операторов>
End If
Заметим, что в операторе условия после Then можно разместить блок операторов, для того, чтобы все они выполнялись, если условие истинно. В этом случае они должны располагаться в одну строчку и быть разделены двоеточием. Например,
If A>10 Then A=A+1 : B =B+A : C=C+B
End If
Рассмотрим пример функции пользователя с использованием оператора условного перехода If-Then-Else.
Function G(y)
If y<=0 Then G = (1+y^2)/(1+y^4)^(1/2)_
Else G = 2*y +sin (y)^2/(2+y)
End If
End Function
Заметим, что знак подчеркивания «_» в конце строки обозначает, что следующая строка является продолжением предыдущей.
В условном операторе может проверяться несколько условий. В этом случае условный оператор имеет вид:
If <условие_1> Then <Блок_операторов_1>
Else If <условие_2> Then <блок_операторов_2>
Else If <условие_3> Then ...
else <блок_операторов>
End If
В данном условном операторе выполняется блок_операторов_i, если истинно условие_i, в противном случае выполняется блок_операторов.
Оператор выбора Select Case удобно использовать, когда одна величина участвует во многих сравнениях для выбора одного из блоков кода.
Синтаксис:
Select Case <тестируемое _выражение>
Case <условие_выбора_1>
<блок_операторов_1>
... ... ...
Case <условие_выбора_n>
<блок_операторов_n>
Case Else
<блок_операторов_n>
End Select
После каждого оператора Case может находиться произвольное количество других операторов, и все они будут выполняться, если условие оператора Case истинно. При использовании одного оператора его можно поместить а одну строку с операторами Case.
Так же как и в блочной структуре IF, можно использовать специальный оператор Case, определяющий любые величины, которые не совпадают ни с одним из других операторов Case. Для этого условие Case Else включается последним блоком перед оператором End Select. Все величины, не совпавшие ни с одним оператором Case, совпадут с оператором Case Else.
Is является ключевым словом VBA, обозначающим тестируемое выражение в операторе Case. В операторе Case допустимы составные условия, например
Case 4,7 to 8, Is >=16
Проверяет, принадлежит ли тестируемое выражение отрезку от 7 до 8 или равняется значению 4, или оно не меньше, чем 16.
Для сокращения размера кода, который необходимо написать для решения задачи используют повторяемые структуры известные под общим названием как циклы. Циклы бывают трёх типов:
1.Вычисляемые
