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

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

Жанры

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

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

Шрифт:

Я считаю, что лучший способ доступа к VBA-приложениго при работе в редакторе Visual Basic обеспечивается стандартными приемами Windows для перехода от приложения к приложению. Нажимайте Alt-Tab до тех пор, пока в появившемся окне не будет выбрана пиктограмма нужного вам приложения, после чего отпустите клавиши. Любой из следующих способов годится тоже.

* Выберите View=AutoCAD (или имя того приложения, с которым работаете вы).

* Щелкните на кнопке View в левой части панели инструментов редактора Visual

* Basic - на этой кнопке будет пиктограмма, представляющая документ

приложения.

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

* Щелкните на кнопке приложения в панели задач Windows.

Вернуться в редактор Visual Basic можно с помощью Alt+Tab, панели задач, снова нажав Alt+F11 или выбрав Сервис=Макрос=Редактор Visual Basic.

Собираясь пожелать редактору Visual Basic доброй ночи, сделайте это одним из следующих двух способов, каждый из которых закрывает редактор и возвращает вас как раз к тому приложению, откуда этот редактор был вызван.

* Выберите FileClose and Return to приложение.

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

Глава 4. Выполнение VBA-программ.

В этой главе ...

~ Выполнение программ и макросов из диалогового окна Макрос - надежно, но не слишком интересно

~ Запуск макросов с помощью кнопок панели инструментов и пунктов меню

~ Назначение для макросов комбинации клавиш

~ Автоматический запуск программ при наступлении определенных событий

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

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

Во время создания программы в окне редактора Visual Basic вы всегда могли выполнить ее, нажав F5 или щелкнув на кнопке Run (Выполнить) в панели Standard (Стандартная) редактора Visual Basic. Это вполне удобно при тестировании программы, но совершенно никуда не годится для реальной работы. После того как программа готова, ее нужно запускать из соответствующего приложения.

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

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

Попрактикуйтесь в этом с макросами, которые вы запишете, следуя указаниям главы 2, или с процедурами, которые вы создадите с помощью редактора Visual Basic, используя либо краткие инструкции из главы 6, либо подробные объяснения из частей II и III.

Все определяется именем

Вызов VBA-программы

осуществляется по имени.

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

Хотите узнать что-нибудь более существенное по поводу процедур? Обратитесь к главе 6, где вы получите полный ответ.

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

Запуск из диалогового окна Макрос

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

Вызов диалогового окна Макрос

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

Наномашины, "Шива"! Том 7

Новиков Николай Васильевич
7. Первый среди карапузов
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Наномашины, Шива! Том 7

Титан: Возвращение

Рави Ивар
1. Титан
Фантастика:
героическая фантастика
боевая фантастика
4.86
рейтинг книги
Титан: Возвращение

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

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

Седьмой Рубеж II

Бор Жорж
2. 5000 лет темноты
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Седьмой Рубеж II

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

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

Возвышение Меркурия. Книга 17

Кронос Александр
17. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 17

Первый среди равных. Книга III

Бор Жорж
3. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
6.00
рейтинг книги
Первый среди равных. Книга III

Кодекс Крови. Книга III

Борзых М.
3. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга III

Идеальный мир для Лекаря 24

Сапфир Олег
24. Лекарь
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Идеальный мир для Лекаря 24

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

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

Отверженный VIII: Шапка Мономаха

Опсокополос Алексис
8. Отверженный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Отверженный VIII: Шапка Мономаха

Моя (не) на одну ночь. Бесконтрактная любовь

Тоцка Тала
4. Шикарные Аверины
Любовные романы:
современные любовные романы
7.70
рейтинг книги
Моя (не) на одну ночь. Бесконтрактная любовь

Последний реанорец. Том IV

Павлов Вел
3. Высшая Речь
Фантастика:
фэнтези
5.20
рейтинг книги
Последний реанорец. Том IV