Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5401.pdf
Скачиваний:
5
Добавлен:
13.11.2022
Размер:
1.36 Mб
Скачать

61

По кнопке Изменить выделенный объект, появившейся в окне настройка, переименуйте кнопку покороче и сделайте на кнопке значок. Теперь макрос можно легко запускать щелчком по изготовленной кнопке.

Контрольные вопросы

1.Что такое макрос?

2.Для чего создаются макросы?

3.Где хранятся макросы?

4.Каковы правила создания имен макросов?

5.Как создать макрос?

6.Как остановить запись макроса?

7.Как просмотреть текст записанного макроса?

8.Как осуществляется навигация по документу в процессе записи макроса?

9.Как выделить фрагмент текста при помощи клавиатуры?

10.Как создать новую панель для быстрого запуска своих макросов?

11.Как назначить запуск макроса на кнопку панели инструментов?

12.Как убрать командную кнопку со своей панели инструментов?

13.Как перейти к просмотру документа из кода макроса?

Первая программа на VBA

С помощью макрорекордера можно сделать многое. Автоматически записать свои действия. Можно на основе записанной автоматически программы изучать объекты, свойства и методы, над которыми эти действия производились. Однако для создания Windows-приложений необходимо писать программы на VBA. И программа должна уметь как минимум вводить данные от пользователя, обрабатывать их и выдавать результат в форме, воспринимаемой пользователем.

Рассмотрим процесс написания простейшей программки на VBA, начиная с запуска редактора VBE.

Любая система программирования состоит из транслятора, основной части и среды программирования, обеспечивающей автоматизированную разработку программ на данном языке. Ранее это были turbo-оболочки. Современные системы программирования имеют специальный инструментарий для корректного написания программ со встроенным удобным и

62

интуитивно понятным интерфейсом, способствующим поддержке программирования.

Разработка и отладка VBA-программ осуществляется с помощью редактора Visual Basic Visual Basic Editor или сокращенно VBE. Запускается редактор из верхнего меню офисного приложения Сервис – Макрос Редактор Visual Basic (см. рис. 16) или комбинацией клавиш Alt+F11. Вернуться обратно в приложение можно также по Alt+F11 или, переключаясь на панели задач. Далее все меню, диалоги, хелп на русский язык не переведены.

Обычно при входе в редактор стартуют три отдельных окна, см. рис. 22. На рисунке они обозначены цифрами.

Рис. 22. Редактор Visual Basic

Рис. 22.1. Project Explorer – окно проекта, обычно располагается в верхнем левом углу редактора. В этом окне отображаются все открытые проекты. В VBA с каждым документом связан проект. На рисунке виден проект Мои макросы, то есть открыт только один документ – Мои макросы.doc. Каждый проект состоит из трех частей.

Microsoft Word Objects – объекты Word'a. Здесь вы найдете глобальный объект ThisDocument.

63

Forms – пользовательские формы. Отсюда вы получаете доступ ко всем формам в проекте. У вас их может не быть. Здесь будут формы, которое вы создадите.

Modules – модули пользователя. Они могут быть двух видов: просто модули и модули классов ClassModule (нам не понадобятся).

References – ссылки на объекты из внешних библиотек.

Рис. 22.2. Properties Window – окно свойств объектов, называют также инспектором объектов. Кликните на любом из вышеуказанных объектов, и перед вами откроется список свойств данного объекта. Например, Name – имя выделенного объекта Project. Если уничтожили окно,

оно достается из меню View Properties Window или F4.

Рис. 22.3. Code – окно кода. Здесь надо писать свои процедуры и функции.

Это все, что нам нужно от IDE VBE для написания своей первой программы на VBA.

Задание: создать программу VBA, выводящую на экран окно с надписью: «Привет, мир!». По традиции программистов начинать изучение нового языка надо с написания программы, оповещающей мир о рождении еще одного программиста.

Опишем ход работы по шагам. Запустить Word.

Нажать Alt+F11 или зайти в редактор через верхнее меню Сервис Макрос Редактор Visual Basic.

Сделать райт-клик на любом объекте в Project Explorer'e (рис. 22) и выбрать из всплывшего меню Insert -> Module. Или из верхнего меню сделать команду Insert Module. Вы создали свой первый модуль. Теперь дадим ему имя. Для этого жмите F4 или выберите в Properties Window свойство Name, оно пока там всего одно, и дайте имя своему первенцу. VBA придумывает сам имена: Module1, Module2,.. но лучше давать осмысленные имена модулям, формам, объектам. На рис. 22 название модуля – Module_Hello.

Для тех, кто не сумел создать свой модуль, можно предложить следующую последовательность действий. Автоматически записать простенький макрос, например, добавив какой-нибудь текст в документ Word. Потом открыть его код и заменить или добавить свой код. Такие макросы размещаются макрорекордером в модуле NewMacros проекта активного документа.

Переходим в окно кода и пишем следующий код:

64

Sub Hello()

’ Моя первая программа на VBA

MsgBox ”Привет, мир!”, , ”Привет v.1.0”

End Sub

В начале листинга после символа «» зелеными буквами идут примечания, они не влияют на исходный код. Это комментарии для самого себя, программиста.

Далее идет вызов стандартной функции VBA Message Box, предназначенной для вывода сообщений (см. раздел Организация ввода-вывода в VBA-программах). Первым параметром задан текст сообщения в двойных кавычках. На рис. 23 показана справка по функции, которую выводит на экран VBE во время ее набора. В листинге после промпта стоит запятая, и по дефолту на боксе будет всего одна кнопка Оk. На рис.23 данный параметр взят в квадратные скобки. Это свидетельствует о том, что этот параметр является необязательным. Если после запятой нажать Ctrl+Space, вы получите полный список всех констант допустимых для данного параметра. Данная комбинация клавиш очень полезная и советуется к употреблению постоянно. Она избавляет от ошибок в написании названий как стандартных, так и определенных вами функций, процедур, переменных и т.п. Третьим параметром записан заголовок сообщения типа версии программы.

Строка End Sub появляется сама, ее автоматически дописывает редактор VBE.

Рис. 23. Получение помощи по синтаксису MsgBox

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]