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

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

Жанры

VBA для чайников

Каммингс Стив

Шрифт:

* Чтобы продолжить выполнение с определенного места в процедуре, используйте в обработчике ошибок оператор Resume метка. Здесь метка означает ссылку на метку, размещенную где-то в процедуре, но, очевидно, не на метку, идентифицирующую начало программного кода обработчика ошибок. Ясно, что в данном случае вы должны задать соответствующую метку в процедуре.

Глава 10. Создание интерактивных VBA-форм.

В этой главе ...

~ Запуск и печать форм в процессе проектирования

~ Создание новой формы и размещение в ней элементов управления

~ Использование окна свойств - простейший способ установки свойств в VBA

~ Обзор важнейших свойств форм и элементов управления

~ Работа с подписями, текстовыми полями, кнопками и рамками

~ Отображение форм в VBA-программе и удаление их с экрана

~ Создание процедур обработки событий, обеспечивающих интерактивное взаимодействие с формами

С помощью VBA можно создавать очень привлекательные на вид окна, будь то панели управления, расширяющие возможности приложений, или простые вспомогательные диалоговые окна. По сравнению с созданием программного кода (или даже просто с печатанием приличного куска текста) создание пользовательской формы вообще может казаться игрою. Все же кое-какую работу при этом нужно выполнить и в некоторых случаях неплохо кое-что знать, чтобы не попасть в тупик. В этой главе рассказывается об основных шагах процесса создания формы: планирование, создание пустой формы в редакторе Visual Basic, добавление в форму элементов управления и работа со свойствами формы и элементов управления. Добавлять элементы управления в формы несложно, а вот чтобы заставить их делать то, что вам нужно, потребуется немного больше умственной работы и программирования. В этой главе мы также обсудим и тонкости процесса программирования форм.

Основы проектирования форм

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

Запуск форм

В процессе разработки формы ее можно запустить (т.е. активизировать выполнение и отобразить на экране) в любое время. Для этого выполните следующее.

1. Выберите окно формы.

Щелкните в окне формы или в окне программного кода, ассоциированного с формой.

2. Отобразите форму.

Нажмите <F5> или щелкните на кнопке Run (Выполнить).

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

Во время запуска окно формы должно быть выбранным. В редакторе Visual Basic маркеры выделения по периметру формы остаются видимыми и при переключении в другое окно редактора Visual Basic. Форма может казаться выделенной, но при этом не запускаться нажатием клавиши <F5>. Так что если вдруг на экране неожиданно возникнет диалоговое окно Macros (Макросы), просто щелкните сначала в нем на кнопке Cancel (Отмена), а затем в любом месте нужной вам формы, прежде чем повторить попытку ее запуска.

Чтобы прекратить выполнение формы, которую вы еще не снабдили кнопкой Отмена, щелкните на ее закрывающей кнопке, находящейся с самого края, справа в строке заголовка формы. Или нажмите <Alt+Tab> и переключитесь в окно редактора Visual Basic, где можно щелкнуть на кнопке Reset (Остановить выполнение) панели инструментов.

Чтобы запустить форму в автономном режиме, вы должны находиться в окне редактора Visual Basic и использовать только что описанные приемы. Но форма создается для ее запуска из VBA-приложения, для чего вам нужно активизировать форму из программного кода, как рассказано дальше в настоящей главе, а сам программный код выполнить с помощью приемов, обсуждавшихся в главе 4.

Формы и элементы управления - программируемые объекты

Напомню еще раз, что формы и элементы управления - это полноценные объекты VBA. со своими свойствами, методами и событиями. Формы и элементы управления отличаются от других объектов лишь одним; вы можете менять их свойства в диалоговых окнах без программирования. Правда, для каждого элемента управления (за исключением некоторых надписей и фреймов) вам все же потребуется написать некоторый программный код. Да и формы тоже часто требуют программирования. Не забывайте об этом при обдумывании плана работ по своему проекту. Этап программирования в процессе создания форм обсуждается дальше в настоящей главе.

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

Планирование форм для программы

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

1. Определите цель для своей программы.

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

2. Для каждой из форм в программе определите ту специальную задачу, которую должна решать данная форма в русле главной задачи программы.

Какую информацию должна отображать форма, какая информация потребуется от пользователя и какие данные потребуются пользователю для того, чтобы решить, в какое русло направить выполнение программы дальше? Ответы на эти вопросы вы должны трансформировать в конкретные элементы формы.

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

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

Путь

Yagger Егор
Фантастика:
космическая фантастика
4.25
рейтинг книги
Путь

Неучтенный элемент. Том 8

NikL
8. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 8

Прапорщик. Назад в СССР. Книга 6

Гаусс Максим
6. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прапорщик. Назад в СССР. Книга 6

Хозяин Теней 2

Петров Максим Николаевич
2. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 2

Пересмешник

Пехов Алексей Юрьевич
Фантастика:
фэнтези
9.38
рейтинг книги
Пересмешник

Тьма чернее ночи

Коннелли Майкл
7. Гарри Босх
Детективы:
триллеры
7.64
рейтинг книги
Тьма чернее ночи

Последний Паладин. Том 12

Саваровский Роман
12. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Последний Паладин. Том 12

Твое сердце будет разбито. Книга 1

Джейн Анна
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Твое сердце будет разбито. Книга 1

Меткий стрелок

Вязовский Алексей
1. Меткий стрелок
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Меткий стрелок

Лекарь Империи 6

Карелин Сергей Витальевич
6. Лекарь Империи
Фантастика:
городское фэнтези
боевая фантастика
аниме
попаданцы
5.00
рейтинг книги
Лекарь Империи 6

Эпоха Опустошителя. Том VIII

Павлов Вел
8. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том VIII

Я до сих пор князь. Книга XXII

Дрейк Сириус
22. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор князь. Книга XXII

Государь

Кулаков Алексей Иванович
3. Рюрикова кровь
Фантастика:
мистика
альтернативная история
историческое фэнтези
6.25
рейтинг книги
Государь

Камень. Книга 4

Минин Станислав
4. Камень
Фантастика:
боевая фантастика
7.77
рейтинг книги
Камень. Книга 4