VBA для чайников
Шрифт:
Макрос имени той программы, которую нужно выполнить. Если вы испытываете такие трудности, обратитесь за помощью к следующему разделу.
Поиск макроса в диалоговом окне Макрос
В диалоговом окне Макрос имена приведенных в списке VBA-программ (макросов) могут иногда сбивать с толку. В зависимости от того, где хранится программа, она может приводиться в списке с идентифицирующим ее префиксом.
Рассмотрим для примера Excel, где вы можете выполнять как программы, хранящиеся в активной рабочей книге (т.е. той. которую
Рис. 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. Если вы создаете кнопку, найдите в списке ту программу, которой нужно назначить кнопку. Затем перетащите имя этой программы в подходящую панель инструментов. Если вы создаете команду в меню, найдите в списке ту программу, которой нужно назначить кнопку. Затем перетащите имя этой программы прямо в меню.