VBA для «чайников» - [24]

Шрифт
Интервал

Чтобы вызвать диалоговое окно Макрос в приложениях Office или в Visio, выполните одно из следующих действий.

* Выберите команду Сервис=Макрос=Макросы.

* Нажмите Alt+F8.

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

Диалоговое окно Макрос должно выглядеть подобно изображенному на рис. 4.1. Как всегда, некоторые детали могут быть другими, в зависимости от используемого вами VBA-приложения.


Рис. 4. 1. Диалоговое окно Макрос в приложении PowerPoint

Больше всего места в диалоговом окне Макрос выделено для списка доступных в данный момент VBA-программ.

Строго говоря, все процедуры, приведенные в списке диалогового окна Макрос, являются процедурами типа Sub (т.е. подпрограммами) без аргументов.

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

Выполнение макроса

Запуск макроса из диалогового окна Макрос вряд ли можно назвать большим достижением.

Выполняемая при этом последовательность шагов должна быть такой.

1. Выберите макрос из списка ниже поля Имя.

2. Щелкните на кнопке Выполнить.


Ну как, круто? Как альтернативу можно использовать двойной щелчок на имени программы в списке.

Единственной сложностью при этом может оказаться поиск в списке диалогового окна

Макрос имени той программы, которую нужно выполнить. Если вы испытываете такие трудности, обратитесь за помощью к следующему разделу.

Поиск макроса в диалоговом окне Макрос

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

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


Рис. 4.2. Диалоговое окно Макрос в Excel приводит имена VBA -программ (макросов) из неактивных рабочих книг, любезно указывая перед именем программы имя содержащей ее книги

В диалоговом окне Макрос в Word процедуры приводятся в списке по их именам, за исключением того случая, когда две или несколько процедур имеют одно ii то же имя. В этом случае имя состоит из имени содержащего процедуру модуля, за которым следуют сначала точка, а затем уже имя процедуры. В качестве доказательства я поместил здесь рис. 4.3.


Рис. 4.3. Диалоговое окно Макрос в Word

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

Быстрый запуск программ

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

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

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

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

Кнопки запуска программ

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

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


Рекомендуем почитать
Графика DirectX в Delphi

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


Вторая жизнь старых компьютеров

Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.


DirectX 8. Начинаем работу с DirectX Graphics

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.