Типы данных, определяемые пользователем (ОПТ)
Это типы данных структурного вида. Эти типы создаются на основе базовых типов VBA. Возможность создавать свои типы данных полезна в тех случаях, когда программа работает с группой элементов различного базового типа, но связанных между собой по смыслу:
Type ИмяТипа Имя1 As Тип Имя2 As Тип ….. End Type
После описания типа данных можно разместить переменную заданного типа с помощью оператора Dim:
Dim <имя_переменной> As <имя_типа>
Доступ к элементам переменной пользовательского типа осуществляется, по аналогии с доступом к свойствам, путем указания точки после имени переменной. При этом переменные одинакового типа можно присваивать не поэлементно, а напрямую:
Type usrPersonType Name As usrName Number As Integer End Type
Public usrCustomer As usrPersonType, usrSupplier As usrPersonType Private Sub Command_Click() usrSupplier.Name = "Ilse" usrSupplier.Number = 21873 usrCustomer = usrSupplier End Sub
Переменные usrSupplier и usrCustomer относятся к одному типу usrPerson. Поэтому они присваиваются напрямую, а не поэлементно. Операторы языка VBА Оператор – неделимое предложение, выполняющее какое-либо действие над имеющимися данными. Представляет собой любую комбинацию ключевых слов, свойств, функций, операций и символов, совокупность которых представляет собой конкретную конструкцию, распознаваемую VBA. Оператор присваивания Данный тип оператора служит для присвоения начальных значений, записи результата вычисления в переменную, изменения значений. Имеет следующий вид:
ИмяПеременной = Формула
Переменная слева от знака равенства может быть простой переменной, элементом массива или свойством объекта. Если переменной присваивается значение ссылки на объект, то оператор присваивания имеет вид:
Set ИмяПеременной = Формула
Формула состоит из переменных, констант, операций и функций. Для записи формул применяют математические операции. Инструкции языка VBA Операторы VBA условно их можно разделить на группы: · операторы передачи управления; · операторы выбора; · операторы циклов. Операторы передачи управления Операторы передачи управления применяются в программе для реализации безусловных алгоритмических конструкций. Они выполняют переход с одного участка программы на любой другой без какого-либо условия.
GOTO идентификатор,
где идентификатор – метка программы. Метка – идентификатор, помещенный слева от программного оператора и отделенный от него двоеточием. Для получения хорошего стиля программирования следует избегать применения оператора GoTo. Операторы выбора Операторы выбора используются в программе для реализации условных алгоритмических конструкций, которые вызывают выполнение различных частей программы в соответствии с условиями, существующими на момент выполнения этих операторов. В VBA существует два типа операторов выбора: · операторы условия (If … Then … Else); · переключатели (Select Case). Оператор If … Then … Else Синтаксис оператора имеет вид (в случае простого однострочного оператора):
If Условие Then [Инструкция1] [Else [Инструкция2]
В случае блочного оператора синтаксис имеет вид:
If Условие Then [Инструкция1] [Инструкция2] [Else [Инструкция3] [Инструкция4] End If]
Строчный оператор используется в том случае, когда при разветвлении программы необходимо на каждой ветке выполнить по одной инструкции, а блочный необходим тогда, когда инструкций несколько. Кроме того, блочная структура с ElseIf позволяет анализировать несколько условий:
If Условие1 Then Блок1 ElseIf Условие2 Then Блок2 ……… ElseIf УсловиеN Then БлокN Else БлокElse End if
Если требуется проверить достаточно большое количество условий, вместо многократного использования ключевого слова ElseIf применяют оператор Select Case. Оба варианта работают одинаково хорошо, однако оператор Select Case, с точки зрения программиста, использовать удобнее. Переключатели Оператор Select Сase используется, когда необходимо выбрать из множества значений выражения. Синтаксис инструкции:
Select Case Выражение [Case списокУсловий1 [Инструкции1]] [Case списокУсловий2 [Инструкции2]] … [Case списокУсловийN [ИнструкцииN]] [Case Else [Инструкции_else]] End Select
Список Условий является обязательным при наличии инструкции Case. Имеет вид: · Case КОНСТАНТА1, КОНСТАНТА2, КОНСТАНТА3, … · Case Is Знак_отншения КОНСТАНТА · Case КОНСТАНТА1 to КОНСТАНТА2 Операторы цикла Для многократного выполнения одного или нескольких операторов предназначены циклы. VBA предлагает 4 конструкции циклов: · цикл For...Next – повторяет набор инструкций указанное число раз; · цикл Do...Loop – повторяет набор инструкций, пока условие имеет значение True или пока оно не примет значение True; · цикл While...Wend – повторяет набор инструкций, пока условие имеет значение True; · цикл For Each...Next – повторяет набор инструкций для каждого объекта семейства. For…Next Цикл For...Next является самой старой и самой простой конструкцией и используется в случае, если заранее известно количество повторений группы инструкций:
For Счетчик = Начальное_значение То Операторы [Exit For] [Операторы] Next [Счетчик]
Счетчик – обязательный элемент. Это должна быть числовая переменная. Она не может иметь тип Boolean или быть элементом массива. Начальное_значение – обязательный элемент, содержит начальное значение переменной Счетчик. Конечное_значение - обязательный элемент, содержит конечное значение переменной Счетчик. Шаг – элемент необязательный, это значение, на которое изменяется счетчик при каждом выполнении тела цикла. Do...Loop Если количество проходов должно зависеть от условия, используют цикл Do...Loop. В зависимости от позиции условия различают два варианта цикла Do...Loop.
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (961)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |