/xmakpoc | Выполняет все макросы из указанного вами списка. Чтобы выполнить процедуру VBA, макрос Access должен включать макрокоманду ЗапускПрограммы |
Таблица 4.2. Автоматическое выполнение VBA-программ в Word с помощью назначения программам специальных имен
Имя VBA-программы | Условие автоматического выполнения программы |
AutoExec AutoNew | При запуске Word При создании каждого нового документа |
AutoOpen AutoClose AutoExit | При открытии любого существующего документа При закрытии документа При выходе из Word |
Замечание. Макрос AutoExec должен храниться в шаблоне Обычный ( normal.dot ).
Таблица 4.3. Выполнение VBA-программ с помощью процедур обработки событий (создание процедур обработки событий обсуждается в главе 14)
Приложение | Условие автоматического вызова процедуры | Используйте объект | Создайте процедуру обработки события |
Visio | При создании нового документа | Document | Document Opened |
Visio | При сохранении документа под другим именем | Document | Document SavedAs |
Microsoft Word | При открытии документа | Document | Open |
Microsoft Word | При создании нового документа | Document | New |
Microsoft Word | При закрытии документа | Document | Close |
Microsoft Excel | При открытии любой рабочей книги | Application | WorkbookOpen |
Microsoft Excel | При открытии конкретной рабочей книги | Workbook | Open |
Microsoft Excel | При создании новой рабочей книги | Workbook | NewSheet |
Замечание. Совсем немногие из длинного списка событий Visio, Word и Excel относятся ко всему документу.
Работа с ярлыками Windows
Некоторые приложения позволяют выполнить программный код VBA с помощью добавления команд к имени приложения при его запуске (см. табл. 4.1). Если вы не хотите утруждать себя набиранием этих команд в командной строке DOS, модифицируйте или создайте подходящий ярлык Windows, который будет вызывать это приложение.
Пиктограммы в меню Пуск Windows представляют ярлыки. Чтобы модифицировать их, щелкните правой кнопкой мыши на кнопке Пуск, из появившегося небольшого меню выберите пункт Открыть, а затем откройте папку Программы и подходящие вложенные в нее папки, чтобы увидеть ярлык вашего приложения. Теперь щелкните правой кнопкой мыши на ярлыке и выберите из появившегося меню пункт Свойства, чтобы открыть диалоговое окно Свойства.
В этом диалоговом окне перейдите на вкладку Ярлыки. В текстовом поле Файл после имени самого приложения напечатайте нужную команду. Например, чтобы при запуске Word выполнялась процедура VBA, текст в поле Файл должен выглядеть примерно так:
C:\Microsoft Office\WINWORD.EXE /mAutomaticNovel
Чтобы создать новый ярлык, щелкните правой кнопкой мыши в любом месте рабочего стола, в окне Мой компьютер или окне Проводник. В появившемся контекстном меню выберите Создать=Ярлык и позвольте Windows провести вас через оставшиеся шаги. После этого появившийся ярлык вы сможете изменить в соответствии с инструкциями, приведенными в этой врезке выше.
Глава 5. Редактор Visual Basic к вашим услугам.
В этой главе ...
~ Поиск команд в системе меню редактора Visual Basic
~ Отображение, перемещение и настройка панелей инструментов
~ Понимание и использование закрепления панелей инструментов и окон
~ Сражение с толпами окон редактора Visual Basic
~ Знакомство с комбинациями клавиш, используемыми редактором Visual Basic
~ Панорамный обзор YBA-проекта с помощью проводника проектов
~ Исследование объектов проекта с помощью обозревателя объектов
~ Печатание программного кода - и получение его готовым- в окне программного кода
Помните сцену из мультика. где Мики Маус играет ученика чародея? Волшебная метла, выполняющая всю домашнюю работу, поначалу кажется ему неплохой идеей, но довольно скоро выходит из-под контроля команда ведер, и бедный Мики едва не тонет.
С первых шагов в редакторе Visual Basic гоже может покачаться, что вы тонете. П нем можно очень быстро открыть так много непривычных с виду окон, что впору залиться слезами от отчаяния. Но не паникуйте - через эти окна на ваш ковер не попадет ни капли воды, напротив, каждое из них может сделать часть важной работы за вас. Немного опыта и несложные навыки, которым у ч и т а глава, позволят вам полностью подчинить себе и редактор Visual Basic, и все ею окна.
Наверное, вы догадываетесь (или опасаетесь), что каждое окно в редакторе Visual Basic должно играть исключительно важную (я бы рискнул сказать, жизненно важную) роль в процессе программирования в VBA. В этой главе описаны все типы окон редактора Visual Basic и даже показано, как практически использовать некоторые из них.
В частности, я собираюсь достаточно подробно обсудить окна Project Explorer (Окно проводника проектов). Object Browser (Окно обозревателя объектов) и Code (Окно программного кода)- и не только внешний вид и управление ими. по и то, как их использовать в процессе программирования. Детальным обсуждением других окон, среди которых UserForm (Окно формы).
Properties (Окно свойств), а также четыре окна для отладки программы, мы займемся в главах 9 и 10. но в этой главе вы найдете вводную информацию и об этих окнах тоже.
Пользовательский интерфейс редактора Visual Basic
Редактор Visual Basic является стандартным блюдом Microsoft- меню, панели инструментов и комбинации клавиш выглядят и работают очень похоже на Microsoft Office. Вы будете чувствовать себя как дома, если используете VBA с приложениями из Office.
С другой стороны, вы почувствуете явный контраст между интерфейсом не-Microsoft приложения и интерфейсом редактора Visual Basic. Причина в том, что сторонние производители программных продуктов добавили VBAR СВОИ приложения но лицензии Microsoft, но сами-то приложения начинали развиваться и оформились задолго до того, как появилась текущая версия Office.
Легкий завтрак с меню
Я уверен, что вы уже знаете, как использовать меню. 1 см не менее, наверное, вам будет интересно узнать, какие команды есть в меню редактора Visual Basic и где именно они находятся.
По большей части команды меню редактора Visual Basic организованы логично. Например, если вы хотите открыть какое-то окно, без сомнения, нужная команда будет не где-нибудь, а в меню View (Вид). Однако есть и менее очевидные моменты. Следующая небольшая таблица поможет вам найти команды, затаившиеся в меню.
Задача | Команда меню | Комментарий |
Управление установками для всего проекта | Tools = Project Properties | Это странное место для команды, относящейся ко всему проекту, - я ожидал бы найти ее в меню File |
Настройка Visual Basic | View= Tool bars = Настройка= Параметры | |
Включение режима проектирования | Rurr=Design Mode | Команда Design Mode, похоже, относится к разметке форм, так почему же она тогда в меню Run? Потому что она останавливает выполнение любой программы. Эта команда не слишком полезна, поскольку можно проектировать формы и без нее, и совсем не обязательно выходить из режима проектирования, чтобы выполнить программу |
Прогулка по панелям инструментов
Если вы знакомы с Word, Excel или PowerPoint, вероятно, и района с панелями инструментов в редакторе Visual Basic покажется вам вполне удобной, Если же нет. по этому поводу достаточно будет нескольких кратких комментариев.
Редактор Visual Basic предлагает четыре готовые панели инструментов.
* Standard (Стандартная). Это единственная панель инструментов, которую вы видите при первом запуске редактора Visual Basic. Ее кнопки выполняют самые разнообразные функции: сохранение результатов вашей работы, добавление новых форм и модулей, редактирование и выполнение программ.
* Edit (Правка). Кнопки этой панели инструментов пригодятся при редактировании программного кода. Они дублируют команды меню Edit.
* Debug (Отладка). Здесь размешаются кнопки для команд. которые понадобятся вам при вылавливании ошибок и программам.
* UserForm (Пользовательская форма). Эта панель инструментов используется при проектировании форм. Большинство ее кнопок дублируют команды из меню Format для выравнивания, упорядочения и группировки элементов управления в форме.
Эти панели инструментов можно использовать в любой комбинации. Всего пара щелчков отображает панель инструментов на экране (если она еще невидима) или прячет ее (если она присутствует на экране). Вот описание соответствующей процедуры.
1. Сначала щелкните правой кнопкой мыши в любой панели управления.
Появится контекстное меню (рис. 5.1) со списком всех имеющихся панелей инструментов. Если панель инструментов видима, ее имя будет отмечено галочкой.
Рис. 5.1, С помощью этого контекстного меню можно отображать на экране и прятать панели инструментов
2. В этом меню выберите панель инструментов, которую хотите отобразить или спрятать.
Как только вы отпустите кнопку мыши, на экране произойдут соответствующие изменения.
Панели инструментов редактора Visual Basic могут существовать в одном из трех состояний, как показано в следующей таблице.
Состояние панели инструментов | Вид панели инструментов на экране |
Скрытая | Невидима на экране |
Закрепленная | Прикреплена к одной из четырех сторон рабочей области главного окна |
Перемещаемая | Представлена в виде своего отдельного окна с полосой заголовка и закрывающей окно кнопкой. Перемещаемые панели инструментов можно разместить и вне окна редактора Visual Basic |
На рис. 5.2 показано окно редактора Visual Basic с двумя закрепленными и двумя перемещаемыми панелями инструментов. Скрытыми, закрепленными или перемещаемыми могут быть большинство основных окон редактора Visual Basic.
Чтобы сделать закрепленную панель инструментов перемещаемой, просто перетащите ее от края рабочей области окна к его середине. Самое удобное место для захвата закрепленной панели инструментов - место с краю, где видны две вертикальные (или горизонтальные) полоски.
Эта область панели инструментов называется маркером перемещения. Сделать панель инструментов перемещаемой можно и иначе - дважды щелкнув в области маркера перемещения.
Обратное тоже верно: чтобы превратить перемещаемую панель инструментов в закрепленную, перетащите ее полосу заголовка к любой из сторон рабочей области окна редактора Visual Basic.
Как только указатель мыши окажется достаточно близко, гравитационное поле окна притянет панель инструментов, как магнит. Этот эффект завораживает, но двойным щелчком панель инструментов закрепляется быстрее (она возвращается на то место, где была закреплена в последний раз).
Настройка панелей инструментов и меню
Предположим, что вас почему-то не устраивают панели инструментов, предлагаемые редактором Visual Basic. Ну, так создайте себе новые! Можно добавлять и убирать кнопки и пункты меню в существующих панелях инструментов и меню, а если и этого для вас недостаточно, вы имеете возможность создать свою собственную панель инструментов просто с нуля (это делается точно так же, как и в приложениях Office).
Рис. 5 2 По умолчанию панели инструментов редактора Visual Basic закреплены под строкой меню, но их можно закрепить и вдоль других сторон главного окна или сделать свободно перемещаемыми
Если вам нужно только переместить или удалить уже имеющуюся кнопку, то все, что вам потребуется, это не забыть нажать и удерживать клавишу Alt, пока вы будете перетаскивать кнопку на новое место. При нажатой клавише Alt вы можете сделать следующее.
* Перетащить кнопку на новое место в той же или другой панели инструментов. Если вам нужно поместить в новое место копню кнопки, во время перетаскивания удерживайте нажатыми клавиши Alt и Ctrl.
* Добавить линию разделителя между двумя кнопками, перетащив кнопку справа еще чуть-чуть правее (если перетащить еще правее, кнопка перескочит за соседнюю). Чтобы убрать линию разделителя, перетащите правую кнопку немного влево.
* Удалить кнопку, перетащив ее на любое место, где нет панелей инструментов. Когда рядом с указателем появится значок X, отпустите кнопку мыши, и кнопка из панели инструментов уйдет в историю.
Для более изысканных модификаций потребуется открыть диалоговое окно Настройка.
Оно используется для добавления новых кнопок в панели инструментов и для любых изменений в меню.
Вот последовательность действий, необходимых для добавления новой кнопки в панели инструментов.
1. Щелкните правой кнопкой мыши в любой панели инструментов и в самом низу появившегося контекстного меню выберите Настройка.
Появится диалоговое окно Настройка (рис. 5.3).
Рис. 5.3. С помощью диалогового окна настройки можно внести радикальные изменения в пользовательский интерфейс редактора Visual Basic
2. Если панели инструментов, которую вы собираетесь изменить, нет на экране, перейдите в л налоговом окне Настройка на вкладку Панели инструментов.
Установите флажок рядом с нужной вам панелью инструментов. Здесь же можно добавить и новую панель инструментов, для чего нужно щелкнуть на кнопке Создать и набрать имя.
3. Когда панель инструментов, с которой вы собирались работать, появится на экране, перейдите на вкладку Команды.
Теперь можно перетаскивать объекты из списка в панели инструментов или меню.
4. После того как вид панели инструментов будет удовлетворять вас, закройте диалоговое окно Настройка.
Обратите внимании, при открытом диалоговом окне Настройка перетаскивать и удалять кнопки из панелей инструментов можно и без помощи клавиши Alt. Однако, чтобы скопировать, а не переместить выбранный объект. придется нажать клавишу Ctrl.
Чтобы изменить меню редактора Visual Basic, необходимо открыть диалоговое окно
Настройка (см. п. 1 в предыдущем разделе). После этого вы сможете щелчком на меню открыть его. а затем перетащить интересующие вас пункты меню в другие позиции или другие меню. Перетаскивая пункт меню в рабочую область окна, можно удалить этот пункт меню.
Чтобы добавить или удалить разделительную линию между двумя пунктами меню, перетащите нижний из этих пунктов немного ниже или немного выше.
Чтобы добавить в меню новые пункты, перетащите их с вкладки Команды диалогового окна Настройка точно так же, как вы это делали при создании новых кнопок в панели инструментов (рис. 5.3 и 5 4).
Рис. 5.4. Настройка одною из контекстных меню редактора Visual Basic
Наверное, считая возможность изменения системы главного меню недостаточной, редактор Visual Basic позволяет также изменять контекстные (т.е. вызываемые щелчком правой кнопки мыши) меню. Для этого нужно открыть диалоговое окно Настройка, перейти в нем на вкладку Панели инструментов и отметить флажок Контекстные меню.
В результате этих действий на экране появится небольшая панель инструментов, предназначенная только для настройки (см. рис. 5.4). Найдите в этой панели инструментов нужное вам контекстное меню и щелкните на нем. После этого вы сможете перетаскивать в это контекстное меню объекты с вкладки Команды.
Комбинации клавиш
В табл. 5.1 приведены все комбинации клавиш, задействованные в редакторе Visual Basic.
Кроме них, вы можете использовать клавишные команды Windows для управления курсором и редактирования текста. Не забывайте и о том, что Shift+F10 вызывает контекстное меню для окна или другого объекта, активного в данный момент, - как будто вы щелкаете на этом объекте правой кнопкой мыши.
Таблица 5.1. Комбинации клавиш, предлагаемые редактором Visual Basic
Отображение окон
Для того чтобы... | нажмите... |
Открыть окно программного кода для данной формы или элемента управления | F7 |
Отобразить форму, соответствующую активному окну программного кода | Shift+F7 |
Перейти в следующее окно программного кода или в окно формы | Ctrl+Tab |
Открыть окно обозревателя объектов | F2 |
Открыть окно свойств | F4 |
Открыть окно немедленного выполнения команд | Ctrl+G |
Открыть окно стека вызовов во время выполнения программы | Ctrl+L |
Работа с программным кодом
Для того чтобы... | нажмите... |
Перейти к определению объекта в точке ввода | Shift+F2 |
Открыть диалоговое окно поиска | Ctrl+F |
Найти далее (найти, где следующий раз появляется текст, заданный в окне поиска) | F3 |
Найти предыдущее | Shift+F3 |
Заменить | Ctrl+H |
Перейти к предыдущей редактировавшейся строке | Ctrl+Shift+F2 |
Отменить действие | Ctrl+Z |
Открыть список свойств/методов | Ctrl+J |
Открыть список констант | Ctrl+Shift+J |
Получить краткую справку о переменной или объекте в точке ввода | Ctrl+l |
Отобразить информацию о параметрах функции в точке ввода | Ctrl + Shift + l |
Автоматически дополнить печатаемое слово | Ctrl +пробел |
Работа со свойствами
Для того чтобы... | нажмите... |
Перейти в окне свойств к следующему свойству, начинающемуся с заданной буквы | Ctrl + Shift +заданная буква |
Выполнение программы
Для того чтобы... | нажмите... |