Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2313

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
1.4 Mб
Скачать

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

2.Запуск макрорекордера и присвоение имени макросу. Одновременно с запуском макрорекордера вы должны дать имя макросу и выбрать место, где он должен быть сохранен. При запуске макрорекордера вы можете выбирать между назначением команды запуска макроса с помощью так называемой "горячей клавиши" или связыванием макроса с какимлибо меню или панелью инструментов (в зависимости от того, записываете ли вы макрос в Excel или в Word).

3.Выполнение действий, которые вам необходимо записать для использования позже. Вы можете записать в макрос любое действие, которое можно выполнить, используя клавиатуру или кнопки мыши, включая выполнение ранее записанных макросов. Конкретные выполняемые вами действия зависят от задачи, которую вам необходимо записать.

4.Остановка макрорекордера. Когда вы останавливаете макрорекордер, ваши действия больше не записываются и не сохраняются в макросе. Как только вы останавливаете рекордер, новый записанный макрос сразу же готов к использованию.

2. СРЕДА РЕДАКТОРА VBA

Вы уже узнали, как записывать и выполнять макросы в Word и Excel. Перед редактированием и написанием макросов вам следует узнать больше о том, где сохраняются макросы. Необходимо также иметь общее представление о компоненте VBA Editor, его командах меню и о том, как они включаются в

Word и Excel.

2.1. Модули

Макросы VBA сохраняются как часть файлов, в которых Word и Excel обычно содержат свои данные, т.е. в файлах документов в Word и в файлах рабочих книг в Excel. Макросы сохраняются в специальной части файла данных, называемой modules (модули). Модуль VBA содержит исходный код мак-

23

роса - текстовое представление инструкций. Каждый документ Word (либо шаблон документа) или рабочая книга Excel может содержать один или несколько модулей или не содержать никакого модуля. Модули, сохраняемые в одном документе Word или рабочей книге Excel, имеют общее название Project (проект).

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

2.1.1. Модули в Word

При записи макроса в Word вы можете определять только документ или шаблон, в котором Word сохраняет записанный макрос. В Word все записанные макросы сохраняются в модуле с именем NewMacros. Если модуль NewMacros не существует, Word создаст его.

Word продолжает сохранять записанные макросы в модуле NewMacros документа или шаблоне документа, независимо от сеанса работы, т.е. в текущем или следующем сеансе.

2.1.2. Модули в Excel

При записи макроса в Excel вы можете определить одно из трех мест, в котором Excel сохранит записанный макрос, - текущую рабочую книгу, новую рабочую книгу или рабочую книгу Personal.xls (личная книга макросов).

Когда Excel создает модуль, в котором сохраняется записанный макрос, модулю присваивается имя ModuleN, где N - это количество модулей, созданных для определенной рабочей книги во время текущего сеанса работы.

Excel продолжает сохранять записанные макросы в том же модуле Module1 до тех пор, пока вы не выберете другую рабочую книгу. Если позже в том же сеансе работы вы опять захотите сохранить записанные макросы в Personal.xls, Excel добавляет другой модуль с именем Module2 в эту книгу.

24

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

2.2. Редактор Visual Basic

Для просмотра модулей и исходного кода макроса, который они содержат, необходимо использовать компонент Visual Basic Editor (Редактор VB). Этот компонент предоставляет инструментальные средства, которые используются с целью:

·создания новых модулей,

·просмотра содержимого существующих модулей,

·создания и редактирования исходного кода макроса,

·создания пользовательских диалоговых окон,

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

Редактор VB содержит одни и те же возможности в при-

ложениях MS Office.

2.2.1. Запуск Редактора VB

Чтобы просмотреть модули или исходный код VBA, который они содержат, вам необходимо сначала запустить Редактор VB. Независимо от того, с каким приложением Office вы работаете, Редактор VB запускается одним из следующих приемов:

1.Выберите Tools | Macro | Visual Basic Editor (Сервис |

Макрос | Редактор Visual Basic).

2.Нажмите сочетание клавиш Alt+F11.

Окна Редактора VB, отображаемые различными приложениями Office в основном подобны.

2.2.2.Окна Редактора VB

Вокне Редактора VB имеются три дочерних окна, каждое из которых отображает важную информацию о VBAпроекте.

25

Project (Проект) - это группа модулей и других объектов, сохраняемых в определенном документе, шаблоне документа, рабочей книге.

Каждое из окон Редактора VB отображается по умолчанию в прикрепленных (docked) положениях. Их можно перемещать в любое место на экране, перетаскивая строку заголовка (title bar). Перетаскивание одного из дочерних окон приводит к тому, что оно становится плавающим окном. Плавающие (floating) окна всегда остаются видимыми поверх других окон. Также можно изменять размер любого из дочерних окон Редактора VB.

Рассмотрим три окна Редактора VB и их назначение, представленные на рисунке.

 

 

 

 

 

1.3

 

 

 

 

 

 

 

 

 

 

 

 

1.2

3.1

 

 

 

3.2

 

 

1.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.3

 

 

3.4

 

2.1

 

 

2.2

 

 

 

 

 

 

 

 

 

Окна Редактора VB

1-е окно - Project Explorer (Окно проекта) содержит дере- во-диаграмму открытых в данный момент файлов (документы, шаблоны или рабочие книги) и объектов, содержащихся в этих файлах (объекты host-приложения, модули, ссылки, формы и так далее). Project Explorer можно использовать для перехода к различным модулям и другим объектам в проекте VB при по-

26

мощи кнопок панели инструментов этого окна: View Code (Программа-1.1), View Object (Объект-1.2) и Toggle Folders (Папки-1.3).

2-е окно - Properties Window (Окно свойств) содержит все свойства объекта текущего выбора. Подробнее об объектах и свойствах объектов вы узнаете из следующих лекций. Вкладка Alphabetic (по алфавиту-2.1) этого окна предоставляет список свойств выделенного объекта в алфавитном порядке. Вкладка Categorized (по категориям-2.2) отображает свойства объекта, отсортированные по категориям.

3-е окно - Code Window (Программа)- это окно, в котором можно просматривать, редактировать или создавать исходный код VBA. В режиме Full Module View (3.4) весь исходный код макроса в модуле отображается сразу в прокручивающемся текстовом окне, а макрос отделяется от другого макроса серой линией. Редактор VB позволяет также просматривать содержимое модуля в режиме Procedure View (представление процедуры-3.3). Чтобы выбрать режим просмотра, щелкайте кнопки в нижнем левом углу Code Window.

Когда Code Window находится в режиме Procedure View, ви-

димым является исходный код только одного макроса. Используйте раскрывающийся список Procedure (процедура-3.2) для быстрого перехода к отдельному макросу.

Используйте список Object List (объект-3.1) для выбора объекта, процедуры которого хотите просмотреть или редактировать. В случае стандартных модулей, таких как модули, в которых сохраняются записанные вами макросы, единственным выбором в списке Object List является General (общая область).

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

27

2.2.3.Меню редактора VBA

Вэтом разделе рассказывается о меню и панелях инструментов Редактора VB. Сейчас вам необходимо лишь ознакомиться с имеющимися командами. Можете попробовать использовать некоторые из этих команд, только убедитесь сначала, что вы экспериментируете с документом (или рабочей книгой), не содержащим незаменимых данных.

Меню File (Файл), как и во всех приложениях Windows, содержит команды, относящиеся к сохранению и открытию файлов. В Редакторе VB меню File предоставляет команды, необходимые для сохранения изменений в проекте VBA и вывода на экран исходного кода вашего макроса VBA. В табл. 2.1 приведены команды меню File и назначение каждой команды.

 

 

Таблица 2.1

 

Команды меню File (Файл)

Команда

Действие

 

 

Save <project> (со-

Сохраняет текущий проект (презента-

хранить <проект>)

цию, рисунок и т.д. в зависимости от

 

 

приложения, в котором открыт Редак-

 

 

тор VB) VBA на диске, включая все

 

 

модули и формы

Import File

(импорт

Добавляет существующий модуль,

файла)

 

форму или класс в текущий проект

 

 

(презентацию). Вы можете импортиро-

 

 

вать только модули, формы или классы,

 

 

сохраненные ранее командой Export

 

 

File из другого проекта (презентации)

 

 

 

Export File

(экспорт

Сохраняет текущий модуль, форму или

файла)

 

класс в формате текстового файла для

 

 

импортирования в другой проект или в

 

 

целях архивирования

 

 

 

28

 

Продолжение табл. 2.1

Remove <item> (уда-

Перманентно удаляет модуль или фор-

лить <...>)

му текущего выбора из проекта (пре-

 

зентации) VBA. Эта команда недоступ-

 

на, если в Project Explorer не выбран

 

никакой элемент

 

 

Print (печать)

Печатает модуль или форму для доку-

 

ментирования или с целью архивирова-

 

ния

Close and Return to ...

Закрывает Редактор VB и возвращается

(закрыть и вернуться

в host-приложение и документ/рабочую

в ...)

книгу/презентацию, из которой был от-

 

крыт Редактор VB

 

 

Меню Edit (Правка) содержит команды, относящиеся к управлению исходным кодом макроса в Code Window и объектами в формах. В табл. 2.2 приведены имеющиеся команды меню Edit и описывается действие, выполняемое каждой командой.

Таблица. 2.2

 

Команды меню Edit

Команда

Действие

 

 

Undo (отменить)

Отменяет самую последнюю команду. Не все

 

команды могут быть отменены. Меню дос-

 

тупно только в том случае, если есть что от-

 

менять

Redo (вернуть)

Возвращает самую последнюю команду, ко-

 

торую вы отменили

 

 

Cut (вырезать)

Вырезает выделенный текст или объект и

 

помещает его в Windows Clipboard. Выде-

 

ленный текст или объект удаляется из моду-

 

ля или формы

 

 

29

 

Продолжение табл. 2.2

Copy (копиро-

Копирует выделенный текст или объект и

вать)

помещает его в Windows Clipboard. Выде-

 

ленный текст или объект остается неизмен-

 

ным

Paste (вставить)

Вставляет текст или объект из Windows

 

Clipboard в текущий модуль или форму

 

 

Clear (очистить)

Удаляет выделенный текст или объект из

 

модуля или формы

 

 

Select All (выде-

Выделяет весь текст в модуле или все объек-

лить все)

ты в форме

 

 

Find (найти)

Подобно команде Find в Word или Excel, по-

 

зволяет находить указанный текст в модуле

 

 

Find Next (найти

Повторяет последнюю операцию Find

далее)

 

 

 

Replace (заме-

Подобно команде Replace в Word или Excel,

нить)

позволяет находить указанный текст в моду-

 

ле и заменять его другим текстом

 

 

Indent (увели-

Смещает весь выделенный текст вправо на

чить отступ)

интервал табуляции

 

 

Qutdent (умень-

Смещает весь выделенный текст влево на

шить отступ)

интервал табуляции

 

 

List Properties/

Открывает список в List Properties/ Methods,

Methods (список

отображая свойства и методы объекта, имя

свойств/ мето-

которого вы только что ввели. Когда курсор

дов)

вставки находится на пустом месте в List

 

Properties/ Methods, эта команда открывает

 

список глобально доступных свойств и ме-

 

тодов

 

 

30

 

Окончание табл. 2.2

List Constants

Открывает список в Code Window, отобра-

(список кон-

жающий допустимые константы для свойст-

стант)

ва, которое вы только что ввели с предшест-

 

вующим знаком «=»

 

 

Quick Info (све-

Открывает всплывающее окно подсказки,

дения)

отображающее правильный синтаксис для

 

процедуры, функции или метода, который

 

вы только что ввели в Code Window

 

 

Parameter Info

Открывает всплывающее окно подсказки,

(параметры)

отображающее параметры (называемые так-

 

же аргументами) процедуры, функции или

 

оператора, который вы только что ввели в

 

Code Window

 

 

Complete Word

Редактор VB заканчивает слово, которое вы

(завершить сло-

вводите, как только вы введете достаточно

во)

символов для того, чтобы VBA распознал

 

ключевое слово

 

 

Bookmarks (за-

Открывает подменю с пунктами для поме-

кладки)

щения, удаления или перехода к закладкам,

 

которые вы ранее поместили в ваш модуль.

 

В отличие от закладок в Word, закладки Ре-

 

дактора VB не имеют имен

 

 

Меню View (Вид) содержит команды, позволяющие выбирать элементы Редактора VB для просмотра и способ просмотра. В табл. 2.3 приведены команды меню View и действие, производимое каждой командой.

Таблица 2.3

Команды меню View

Code (программа) Активизирует Code Window для отображения исходного кода VBA, ассоциированного с выбранным модулем или формой

31

 

Продолжение табл. 2.3

Object (объект)

Отображает объект текущего выбора в

 

Project Explorer

 

 

Definition (описа-

Отображает исходный код VBA для проце-

ние)

дуры или функции, на которую указывает

 

курсор; отображает Object Browser для

 

объектов в справке VBA

Last Position (вер-

Переходит в последнюю позицию в модуле

нуться к послед-

после использования команды меню Defi-

ней позиции)

nition или после редактирования кода

 

 

Object Browser

Открывает Object Browser, позволяющий

(просмотр объек-

определять, какие макросы доступны в

тов)

данный момент

 

 

Immediate Win-

Отображает окно отладчика Immediate

dow (окно отлад-

Window VBA

ки)

 

Locals Window

Отображает окно отладчика Locals Window

(окно локальных

 

переменных)

 

 

 

Watcti Window

Отображает окно отладчика Watch Window

(окно контроль-

(контрольные значения)

ного значения)

 

 

 

Call Stack (стек

Отображает список последовательности

вызова)

вызовов для текущей функции или проце-

 

дуры VBA

Project Explorer

Отображает Project Explorer

(окно проекта)

 

 

 

Properties Window

Отображает Properties Window

(окно свойств)

 

 

 

Toolbox (панель

Отображает Toolbox. Toolbox используется

элементов)

для добавления элементов управления в

 

пользовательские диалоговые окна

 

 

32

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