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

на главную

Жанры

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

Использование цикла 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.

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

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

Невеста

Вудворт Франциска
Любовные романы:
любовно-фантастические романы
эро литература
8.54
рейтинг книги
Невеста

Энфис 4

Кронос Александр
4. Эрра
Фантастика:
городское фэнтези
рпг
аниме
5.00
рейтинг книги
Энфис 4

Игрок, забравшийся на вершину. Том 8

Михалек Дмитрий Владимирович
8. Игрок, забравшийся на вершину
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
Игрок, забравшийся на вершину. Том 8

Папина дочка

Рам Янка
4. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Папина дочка

Чужое наследие

Кораблев Родион
3. Другая сторона
Фантастика:
боевая фантастика
8.47
рейтинг книги
Чужое наследие

Идеальный мир для Социопата 7

Сапфир Олег
7. Социопат
Фантастика:
боевая фантастика
6.22
рейтинг книги
Идеальный мир для Социопата 7

Восход. Солнцев. Книга VIII

Скабер Артемий
8. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга VIII

Аномальный наследник. Том 1 и Том 2

Тарс Элиан
1. Аномальный наследник
Фантастика:
боевая фантастика
альтернативная история
8.50
рейтинг книги
Аномальный наследник. Том 1 и Том 2

Мир-о-творец

Ланцов Михаил Алексеевич
8. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Мир-о-творец

Совок 9

Агарев Вадим
9. Совок
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Совок 9

Инцел на службе демоницы 1 и 2: Секса будет много

Блум М.
Инцел на службе демоницы
Фантастика:
фэнтези
5.25
рейтинг книги
Инцел на службе демоницы 1 и 2: Секса будет много

Кодекс Крови. Книга Х

Борзых М.
10. РОС: Кодекс Крови
Фантастика:
фэнтези
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга Х

Бальмануг. (Не) Любовница 2

Лашина Полина
4. Мир Десяти
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Бальмануг. (Не) Любовница 2

Любовь Носорога

Зайцева Мария
Любовные романы:
современные любовные романы
9.11
рейтинг книги
Любовь Носорога