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

на главную

Жанры

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

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

Шрифт:

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

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

выполнять какие-либо действия и тогда, когда указатель мыши просто помещается на кнопку без щелчка. Ясно, что, если у вас есть еще кнопка Солгать про возраст, потребуется дополнительная процедура обработки события для щелчка на этой кнопке. Тема создания процедур обработки событий подробно обсуждается в главе 10.

Цикл создания программы

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

1. Проектирование.

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

2. Реализация.

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

3. Тестирование.

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

4. Отладка.

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

5. Повторное тестирование.

Повторяют пп. 3 и 4 до тех пор, пока хватит сил и терпения.

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

Подробнее о том, что можно сделать в VBA

Выше, в разделе Зачем мучиться с VBA?, я уже упоминал о том, как с помощью VBA можно усовершенствовать имеющиеся приложения. Пришло время обсудить это подробнее, чтобы вам стало ясно, наконец, что же все-таки можно получить от VBA.

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

Настройка пользовательского интерфейса

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

(На

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

Рис. 1.1.

Вам потребуется VBA, если вы захотите работать с документами Word на чистом экране, совершенно свободном ото всех панелей инструментов

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

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

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

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

Добавление новых возможностей

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

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

Попаданка в академии драконов 2

Свадьбина Любовь
2. Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
6.95
рейтинг книги
Попаданка в академии драконов 2

Береги честь смолоду

Вяч Павел
1. Порог Хирург
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Береги честь смолоду

Клан

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

Афганский рубеж

Дорин Михаил
1. Рубеж
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Афганский рубеж

Физрук: назад в СССР

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

Огни Аль-Тура. Желанная

Макушева Магда
3. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.25
рейтинг книги
Огни Аль-Тура. Желанная

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

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

(не)Бальмануг.Дочь

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

Внешняя Зона

Жгулёв Пётр Николаевич
8. Real-Rpg
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Внешняя Зона

Измена. Верни мне мою жизнь

Томченко Анна
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Верни мне мою жизнь

Везунчик. Проводник

Бубела Олег Николаевич
3. Везунчик
Фантастика:
фэнтези
6.62
рейтинг книги
Везунчик. Проводник

Особое назначение

Тесленок Кирилл Геннадьевич
2. Гарем вне закона
Фантастика:
фэнтези
6.89
рейтинг книги
Особое назначение

Вперед в прошлое 2

Ратманов Денис
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 2

Проклятый Лекарь IV

Скабер Артемий
4. Каратель
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Проклятый Лекарь IV