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

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

Жанры

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

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

Шрифт:

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

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

В диалоговом окне Макрос имена приведенных в списке 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, который добавит подходящую кнопку.

Ой! А я-то думал, что VBA предлагается в виде визуального средства разработки интерфейса!

Кнопки на панели инструментов или меню

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

Приложения Office позволяют использовать приемы drag-and-drop для назначения VBAпрограми-е кнопки на панели инструментов или элемента меню.

В Microsoft Word, Excel, PowerPoint, Access, а также Outlook назначать VBA-программе новую кнопку в панели инструментов очень просто- перетащите с помощью мыши. После того как кнопка займет предназначенное ей место, вы можете создать на этой кнопке еще и подходящий рисунок.

Чтобы в Word создать кнопку для вызова VBA-программы, сделайте следующее.

1. Щелкните правой кнопкой мыши в любой из панелей инструментов.

После этого на экране возникнет контекстное меню.

2. В самом низу этого меню выберите Настройка, чтобы открыть диалоговое окно Настройка с вкладками, в котором будет изначально открыта вкладка Панели инструментов.

Открыть диалоговое окно Настройка можно без выполнения п. 1, выбрав из меню Сервис=Настройка.

3. В диалоговом окне Настройка щелкните на ярлыке вкладки Команды (рис. 4.4).

4. Прокрутите список Категории вниз и найдите пункт Макросы. Щелкните на этом пункте, чтобы выбрать его.

При этом справа, в списке Команды, появятся все имеющиеся в вашем распоряжении VBA -программы. (Диалоговое окно Настройка на рис. 4.4 как раз и показывает макросы.)

5. Найдите необходимый макрос в списке (это может быть и VBA-программа, написанная вами с самого начала).

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

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

Гримуар темного лорда IV

Грехов Тимофей
4. Гримуар темного лорда
Фантастика:
фэнтези
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Гримуар темного лорда IV

Древесный маг Орловского княжества

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

Жена неверного ректора Полицейской академии

Удалова Юлия
Любовные романы:
любовно-фантастические романы
4.25
рейтинг книги
Жена неверного ректора Полицейской академии

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

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

На границе империй. Том 9. Часть 5

INDIGO
18. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 5

Казань

Вязовский Алексей
2. Русский бунт
Фантастика:
альтернативная история
4.50
рейтинг книги
Казань

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

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

Закрытые Миры

Муравьёв Константин Николаевич
Вселенная EVE Online
Фантастика:
фэнтези
5.86
рейтинг книги
Закрытые Миры

#Бояръ-Аниме. Газлайтер. Том 24

Володин Григорий Григорьевич
24. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 24

Локки 5. Потомок бога

Решетов Евгений Валерьевич
5. Локки
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Локки 5. Потомок бога

Рассвет русского царства

Грехов Тимофей
1. Новая Русь
Документальная литература:
историческая литература
5.00
рейтинг книги
Рассвет русского царства

Ким

Киплинг Редьярд Джозеф
Приключения:
исторические приключения
7.62
рейтинг книги
Ким

Родословная. Том 2

Ткачев Андрей Юрьевич
2. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Родословная. Том 2

Хозяин Хаоса I

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