Мегаобучалка Главная | О нас | Обратная связь


Типы данных, условные операторы и массивы VBA



2019-07-03 257 Обсуждений (0)
Типы данных, условные операторы и массивы VBA 0.00 из 5.00 0 оценок




 

VBA представляет собой набор средств программирования для создания собственных программ и подгонки имеющихся приложений под запросы пользователя.

С помощью VBA можно изменять внешний вид или способ применения имеющихся средств приложения, а также добавлять свои, совершенно новые возможности.

В настоящее время VBA движется по направлению к тому, чтобы стать стандартом в индустрии создания программ. После освоения VBA вы сможете использовать этот язык в любом из приложений, поддерживающих VBA. Причем, зная VBA, вы автоматически изучаете язык Visual Basic.

Microsoft создала VBA и обеспечила поддержку VBA во всех главных приложениях Office: Word, Excel, Access и PowerPoint.

Объектно-ориентированное программирование.

Понимание объектов лежит в основе программирования в VBA, особенно когда дело касается создания пользовательских диалоговых окон и использования возможностей ведущего VBA-приложения.

Язык VBA является объектно-ориентированным. Это значит, что многие его команды имеют особенный формат. Типичная команда VBA имеет вид: <Объект>.<Объект, входящий в первый объект>.<…>.<Тот объект, с которым нужно произвести действие>.<собственно действие>

Иными словами, каждая команда пишется как бы с «конца»: вначале определяется то, над чем надо произвести действие, – объект, а затем само действие – метод. Разделителями компонентов команды служат знаки «точка».

Пример: Application.activDocument.PageSetup.Orientation=wdOrientLandscape - Эта команда устанавливает альбомную ориентацию листа в документе.

Типы данных.

Тип данных – это термин, относящийся к определенным видам данных, которые VBA сохраняет и которыми может манипулировать.

Любое определение типа задает:

• область возможных значений типа;

• структуру организации данных;

• операции, определенные над данными этого типа.

VBA разделяет обрабатываемые данные на числа, даты, строки, логические значения и объекты.

 Как и любые среды программирования, редактор VBA необходимо сначала запустить. Для запуска можно использовать два способа:

1) активизировать любое приложение пакета MS Office (Word, Excel);

2) выполнить команду меню: Сервис <> Макрос <> Редактор Visual Basic.

Или:

1) активизировать любое приложение пакета MS Office (Word, Excel);

2) нажать комбинацию клавиш Alt+F11.

И в том, и в другом случае откроется редактор VBA (рис. 3).

 

Рис. 3. Стартовое окно редактора VBA

В левой части окна редактора появляется строение разрабатываемого проекта (аналог с Проводником). Необходимо обратить внимание на два главных объекта окна: Normal и Project (Операции).

Объект Normal глобальный, т. е. при работе в редакторе VBA в данном объекте будут создаваться модули, формы и т. д., которые будут доступны всему приложению Word. При каждом запуске Word содержимое объекта Normal становится доступным. Вывод: в данном объекте ничего не надо создавать!

Объект Project содержит рядом имя созданного документа, т. е. дается подсказка, в каком документе необходимо работать и где создаются модули, процедуры, приложения.

Операторы.

Операторы в VBA используются для объединения, сравнения или других действий над определенными значениями в выражении. При использовании оператора в выражении элементы данных, над которыми этот оператор выполняет действие, называются операндами: большинству операторов требуются два операнда.

Выделяют арифметические и логические операторы. К арифметическим относятся операторы сложения, вычитания, умножения, деления и т.д. Логические операторы используются для объединения результатов отдельных выражений сравнения, чтобы создать сложные критерии для принятия решений в процедуре, или для создания условий, при которых группа операторов должна повторяться.

Также операторы подразделяются на: оператор условного перехода – это структура, которая выбирает ту или иную ветвь кода процедуры на основе некоторого предопределенного условия или группы условий и оператор безусловного перехода – это оператор, просто изменяющий последовательность выполнения кода процедуры независимо ни от какого конкретного условия. Условный переход используется гораздо чаще, чем безусловный.

Простейшими VBA-операторами изменения порядка выполнения кода являются операторы If … Then и If … Then … Else.

Оператор If … Then позволяет выбрать единственную альтернативную ветвь кода в процедуре или функции.

Вторая форма синтаксиса оператора If … Then называется блоком оператора if. В блоке оператора If… Then условие и операторы записываются в отдельных строках, причем заканчивается данный оператор ключевыми словами End If.

VBA, как и многие языки программирования, имеет условный оператор перехода для использования в случаях, когда необходимо выбирать из большего количества различных ветвей кода: оператор Select Case. Данный оператор работает во многом так же, как и оператор If. Ключевые слова Select Case используются со многими операторами Case, где каждый оператор Case проверяет появление другого условия и выполняется только одна из ветвей Case. Ветвь Case может содержать один, несколько или ни одного оператора VBA.

Циклы.

Процесс выполнения всех операторов, заключенных в структуру цикла, один раз называется итерацией (iteration) цикла. Некоторые структуры цикла организуются так, что они всегда выполняются заданное количество раз. Структуры цикла, всегда выполняющиеся заданное количество раз, называются циклами с фиксированным числом итераций (fixed iteration). Другие типы структур цикла повторяются переменное количество раз в зависимости от некоторого набора условий. Поскольку количество раз повторений этих гибких структур цикла является неопределенным, такие циклы называются неопределенными циклами (indefinite loops).

Цикл For…Next используется, когда необходимо повторить действие или ряд действий заданное количество раз, известное до начала выполнения цикла.

Второй цикл For, который имеется в VBA, – это цикл For Each … Next. В отличие от цикла For…Next, цикл For Each … Next не использует счетчик цикла. Циклы For Each … Next выполняются столько раз, сколько имеется элементов в определенной группе, такой как коллекция объектов или массив. Другими словами, цикл For Each … Next выполняется один раз для каждого элемента в группе.

Массивы.

Массив (array) – это коллекция переменных, которые имеют общие имя и базовый тип. Массив является удобным способом хранения нескольких связанных элементов данных. Все элементы данных, сохраняемых в массиве, должны иметь один и тот же тип.

Наименее сложный массив – это просто список элементов данных; такого рода массив называется простым, или одномерным, массивом. Подобный массив можно представить в виде очереди, где каждому элементу очереди присваивается не только порядковый номер (место в очереди), но и его конкретное значение (имярек).

Чтобы создать массив, нужно определить: его имя, количество элементов (размер массива), тип данных, которые будут храниться в массиве.

Элементы созданного массива не содержат никаких данных. Чтобы сохранить в массиве какое-нибудь значение, нужно указать, какому элементу оно должно быть присвоено.

В большинстве программ при создании массива сразу же инициализируют его, присвоив каждому элементу, нулевое значение или пустую строку.

Порядок создания двухмерного массива тот же, что и одномерного, с той лишь разницей, что, указывая его размер, нужно указать два значения – строки и столбцы.

При создании массивов, в том числе и многомерных, для хранения значения каждого элемента выделяется оперативная память (даже если это нулевые значения или пустые строки). Таким образом, создавая большой массив, происходит резкое уменьшение объема свободной памяти, что может негативно отразиться на работе программы. Поэтому создавать многомерные массивы следует лишь по мере необходимости. Подобные массивы называются статическими (static), потому что число элементов в массиве не меняется.

Выбор размера массива может быть затруднен, если неизвестно, сколько данных будет введено в массив, или если объем данных, собираемых для массива, значительно меняется. Для подобных ситуаций VBA поддерживает особый тип массивов, называемый динамическим (dynamic) массивом.

VBA позволяет пользователю определять свои собственные типы данных. Определенный пользователем тип нужен, когда одной переменной необходимо обозначить несколько связанных по смыслу элементов данных, причем эти элементы данных могут быть разных типов.

Элементами типа могут быть простые переменные и массивы встроенных типов, а также переменные и массивы других определенных пользователем типов.

Процедуры VBA бывают двух типов:

• процедуры обработки событий;

• общие процедуры.

Имя процедуры обработки события, связанного с элементом управления, состоит из имени элемента управления, символа подчеркивания и имени события, например Закрытъ_ click – процедура обработки нажатия кнопки Закрыть в форме.

Общие процедуры VBA могут храниться в любом типе модулей VBA, так как они не связаны с конкретным объектом. Они выполняются только тогда, когда явно вызываются другими процедурами. Обычно эти процедуры реализуют какие-то общие действия, которые могут вызываться разными процедурами обработки событий.

Процедуры, как и переменные, должны быть объявлены до того, как они могут быть вызваны. Объявления общих процедур помещаются в разделе General (Общая область) модуля. Процедуры обработки событий хранятся в разделах модуля формы или отчета, соответствующих связанным с этими процедурами объектам.

В свою очередь, процедуры VBA делятся на подпрограммы и функции. Они являются фрагментами программного кода, который заключается между операторами Sub и End Sub или между Function и End Function соответственно. Процедуры-подпрограммы выполняют действия, но не возвращают значение, поэтому они не могут быть использованы в выражениях. Процедуры обработки событий представляют собой процедуры-подпрограммы. Процедуры-функции всегда возвращают значение, поэтому они обычно используются в выражениях. Общие процедуры могут быть как процедурами-подпрограммами, так и процедурами-функциями.

Чтобы использовать написанную подпрограмму или функцию, ее нужно вызвать. Вызов процедуры-подпрограммы отличается от вызова процедуры-функции.

Обычно подпрограмма вызывается из другой подпрограммы или функции с помощью специального оператора VBA. Если она имеет аргументы, ей передается список фактических параметров.

 



2019-07-03 257 Обсуждений (0)
Типы данных, условные операторы и массивы VBA 0.00 из 5.00 0 оценок









Обсуждение в статье: Типы данных, условные операторы и массивы VBA

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (257)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.011 сек.)