Чтение онлайн

на главную - закладки

Жанры

Офисное программирование
Шрифт:

Использование цикла For… Next

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

Цикл For…Next имеет следующий синтаксис:

For а = Start To End [Step StepSize]

операторы

Next [а],

где а

любая численная переменная VBA, обычно переменная типа Integer или Long;

Start – любое численное выражение, определяет начальное значение для переменной а;

End – это также численное выражение, определяет конечное значение для переменной а.

По умолчанию VBA увеличивает переменную а на 1 каждый раз при выполнении операторов в цикле (считает количество циклов). Можно задавать другое значение (StepSize), на которое будет изменяться а, включая необязательное ключевое слово Step. При включении ключевого слова Step необходимо задавать значение для изменения переменной а.

Операторы представляют один, несколько или ни одного оператора VBA. Эти операторы составляют тело цикла For; VBA выполняет каждый из этих операторов каждый раз при выполнении цикла.

Ключевое слово Next сообщает VBA о том, что достигнут конец цикла; необязательная переменная а после ключевого слова next должна быть той же самой переменной а, которая была задана после ключевого слова For в начале структуры цикла.

Включайте необязательную переменную а после ключевого слова next для улучшения читабельности программного кода (особенно при использовании вложенных циклов for next) и для повышения скорости выполнения кода (иначе vba придется потратить время на определение того, какая переменная является правильной, для ее изменения после достижения ключевого слова next).

Цикл For Each … Next

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

Цикл For Each … Next имеет следующий синтаксис:

For each а in группа

операторы

Next [а],

где а – это переменная, используемая для итерации по всем элементам в определенной группе;

группа – это объект коллекции или массив. Если группа – это объект коллекции, то а должна

быть переменной типа variant, object или заданным объектным типом, таким как range, worksheet, document, paragraph и т. д.

Если группа – это массив, то а должна быть переменной типа variant;

операторы – один, несколько или ни одного оператора VBA, составляющих тело цикла.

Примечание. Примеры на использование циклов будут рассмотрены в части II.

Глава 2

Объект UserForm

2.1. Свойства и методы объекта UserForm

Свойства объекта UserForm

Рассматривая в п. 1.2 и 1.3 примеры, решаемые в редакторе VBA, можно прийти к выводу, что такие простейшие задачи с выводом единственного результата в диалоговое окно не всегда будут удовлетворять потребностям пользователей. Одним из достоинств языка программирования VBA является то, что он относится к объектно-ориентированным языкам. Следовательно, в данную среду программирования уже заложены возможности создания форм и его элементов простым использованием без составления громоздкого программного кода.

Практически во всех приложениях Office используются пользовательские диалоговые окна. Диалоговые окна в VBA называются формами (объект UserForms). Каждому объекту UserForm присущи определенные свойства, методы и события, которые он наследует от класса объектов UserForms. Диалоговые окна (формы) и элементы управления составляют основу современного визуального интерфейса. Все элементы управления и технология работы с ними в основном стандартизованы и похожи для разных платформ и программных сред. Эти объекты помещены в специальную библиотеку MSForms.

Выделим основные моменты, которые следует иметь в виду при создании визуального интерфейса.

Все загруженные диалоговые окна представляют коллекцию UserForms со стандартными методами и свойствами. Элемент коллекции – объект класса UserForm – задает отдельное окно.

Для каждого типа элементов управления в библиотеке msforms имеется класс объектов, имя которого совпадает с именем элемента управления (его типа). Например, есть классы SpinButton и TextBox.

Диалоговые окна создаются, как правило, не программно, а визуально. Вначале создается само окно, а затем оно наполняется элементами управления при помощи соответствующей панели элементов. Этот этап называется этапом проектирования, и его следует отличать от этапа выполнения, когда приложение выполняется и конечный пользователь взаимодействует с приложением, в частности через диалоговые окна и их элементы управления. Как только создается диалоговое окно и помещается в него тот или иной элемент управления, в этот же самый момент автоматически в программе появляется объект соответствующего класса, с которым можно работать, вызывая его методы и изменяя его свойства.

Поделиться:
Популярные книги

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

У врага за пазухой

Коваленко Марья Сергеевна
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
У врага за пазухой

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит