Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на BASIC / Visual Basic / Учебно-методическое пособие по изучению Visual Basic for Applications (VBA).doc
Скачиваний:
208
Добавлен:
02.05.2014
Размер:
1.55 Mб
Скачать

Введение

Без преувеличения можно сказать, Microsoft Office любых версий является самым полезным и самым используемым продуктом Microsoft. И современный руководитель, и менеджер, и преподаватель, и студент, и школьник – все, кто имеет в своем распоряжении компьютер, в той или иной степени используют эту систему.

Одним из наиболее важных и полезных аспектов подготовки Microsoft Office к выполнению определенных задач является автоматизация процессов взаимодействия пользователя с приложениями Microsoft Office. Эти приложения не являются законченными продуктами, настроенными на выполнение всех возможных задач, а представляют собой системы, которые нуждаются в определенной настройке, что обеспечивается разнообразными средствами, как интерактивными, так и программными. Все приложения Microsoft Office поддерживают язык программирования Visual Basic for Applications (VBA). VBA позволяет работать с Microsoft Office, как с некоторым конструктором: в распоряжении разработчика VBA-приложения не только большое количество объектов и коллекций, но и возможности настроек, позволяющие до такой степени программно настроить любое приложение, что пользователь такого приложения может и не понять, с каким приложением происходит «общение».

Важнейшим достоинством VBA является возможность объединять любые приложения Microsoft Office для решения, практически, любых задач по обработке информации. В этом смысле Microsoft Office можно считать системой программирования, подобной C++, Delphi и т.д., но с более мощными и разнообразными функциями, поскольку здесь имеется неизмеримо большее количество управляемых системой объектов и готовых решений для конечных пользователей.

Привлекательная особенность VBA в том, что он очень удобен для первого знакомства с программированием в среде Windows. Этому способствует широкое распространение приложений Microsoft Office, бесконечное разнообразие возможных практических задач, интуитивно понятная интегрированная среда редактора Visual Basic, возможность обучения программированию посредством анализа кода, записанного при помощи макрорекордера, наличие огромного количества объектов, которыми можно управлять из VB-кода. Более глубокие знания VBA-программирования позволят решать, практически, любые задачи: от автоматизации создания простых документов до обработки баз данных с использованием как настольных, так и сетевых СУБД.

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

На базе предложенного материала можно организовать вариативность в преподавании VBA в зависимости от подготовки студентов. Лабораторные работы охватывают основы языка Visual Basic, а также операции по созданию макросов, процедур и функций, приложений обработки электронных таблиц с

3

использованием диалоговых окон. Предполагается освоить язык программирования Visual Basic.

Рекомендуется начать изучение VBA с лекционного курса по данной теме. Он создаст теоретическую основу для практической деятельности.

По структуре каждая работа имеет следующие составные части:

ь цель занятия;

ь необходимые материалы к заданиям;

ь справочный материал;

ь комментированные практические задания;

ь упражнения для самостоятельной работы;

ь контрольные вопросы.

Благодаря такой структуре обучаемый имеет все условия для качественного освоения материала лабораторных работ. Упражнения предполагают выполнение операций, аналогичных комментированным практическим заданиям, но самостоятельно. Это приводит к осмыслению и закреплению полученных навыков.

Пособие может быть использовано аспирантами и студентами любых специальностей, изучающими дисциплины «Информатика, численные методы и компьютерная графика», «Основы информационных технологий».

4

Часть 1. Макросы и язык программирования vba. Среда редактора visual basic

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

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

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

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

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

С помощью макросов можно создавать пользовательские меню, диалоговые окна и панели инструментов, которые могут до неузнаваемости изменить интерфейс всем известных продуктов Word, Excel, Access, PowerPoint. Уместно здесь отметить также и возможность создания разнообразной системы проверки данных, вводимых пользователем в диалоговых окнах. Когда вы научитесь писать программы на языке VBA, вы, скорее всего, уже никогда не станете начинать создание макроса с использования рекордера.

5

Лабораторная работа № 1. Запись новых макросов в Excel. Выполнение

макросов

Цель занятия: Уметь задавать стартовые условия для макроса, запускать макроредактор и присваивать имя макросу, выполнять действия, которые необходимо записать для использования позже, останавливать макроредактор, запускать на выполнения макросы.

Материалы к занятию: MS Excel 2003.

Задание 1. Создайте макрос в Excel, который форматирует текст в текущей ячейке шрифтом Arial, полужирным, 12 размером.

1. Задайте стартовые условия.

Для этого:

^Запустите Excel 2003 (Пуск/Все программы ► /Microsoft Office ► /Microsoft Office Excel 2003), если он еще не запущен;

  • откройте какую-либо рабочую книгу;

  • выберите какой-либо рабочий лист;

  • выделите любую ячейку в рабочем листе.

2. Выберете место и имя хранения макроса.

Для этого:

выберете в меню Сервис/Макрос/Начать запись… (Tools/Macro/Record New Macro…);

* в раскрывшимся диалоговом окне Запись макроса (Record Macro) (рис. 1), в текстовом окне Имя макроса (Macro Name) введите FormatArialBold12 в качестве имени макроса;

Рис. 1

ь оставьте без изменений текст, который Excel вставила в поле Описание (Description), но добавьте следующее: Форматирует текст диапазона: Arial, Bold, 12; этот дополнительный комментарий поможет вам (и другим) определить назначение данного макроса;

ь в списке Сохранить в (Store macro in) для выбора места, в котором будет сохранен записанный макрос выберите Личная книга макросов;

ь если вы уверены в том, что будете часто использовать макрос, который

6

собираетесь записывать, можете назначить для его запуска горячую клавишу; если - да, введите горячую клавишу в текстовое окно Сочетание клавиш (Shortcut Key) окна Запись макроса;

* щелкните на кнопке ОК для начала записи макроса; как только вы щелкните на кнопке ОК в диалоговом окне Запись макроса, Excel запустит

макрорекордер, отобразит панель ^ Остановить запись (Stop Recorder) и начнет запись ваших действий. Макрорекордер сохранит каждое ваше действие в новом макросе.

Замечание 1. Доступными вариантами при сохранении макросов являются Личная книга макросов (Personal Macro Workbook), Новая книга (New Workbook) и Эта книга (This Workbook). Когда вы выбираете в качестве места для хранения макроса Личная книга макросов, Excel сохраняет макрос в файле специальной книги с именем Personal.xls в папке, в которую установлена Excel. Excel автоматически открывает эту книгу каждый раз в начале работы. Поскольку вам всегда доступны макросы из всех открытых книг, макрос, сохраненный в книге Personal.xls, также будет доступен вам всегда. Если книга Personal.xls не существует, Excel создаст ее. Выбор Эта книга приведет к тому, что Excel сохранит новый макрос в текущей активной рабочей книге. Выбор Новая книга приведет к созданию в Excel новой рабочей книги, в которой будет сохранен этот макрос, - рабочая книга, которая была активной при запуске вами макрорекордера, остается активной рабочей книгой; любые действия, которые вы записываете, выполняются в этой книге, а не в новой рабочей книге, созданной для сохранения макроса.

Замечание 2. Не всегда при запуске макрорекордера вы можете увидеть на экране панель Остановить запись. Поскольку это - обычная панель, ее можно отображать или не отображать. Этим, как и другими панелями, управляет команда Панели инструментов (Toolbars) меню Вид (View). В любом случае (при наличии на экране панели Остановить запись или ее отсутствии) вы можете остановить макрорекордер, выбрав Сервис/Макрос/Остановить запись.

3. Запишите действия и остановите макрорекордер.

Для этого:

  • выберите команду Формат/Ячейки… (Format/Cells…) для отображения диалогового окна Формат ячеек (Format Cells);

  • щелкните на ярлычке Шрифт (Font) для отображения опций шрифта (рис. 2);

  • выберите Arial в списке Шрифт (Font); выполните этот шаг, даже если шрифт Arial уже выбран;

  • выберите Полужирный (Bold) в списке Начертание (Font Style);

  • щелкните на кнопке ОК, чтобы закрыть диалоговое окно Формат ячеек и изменить выделенную ячейку в рабочем листе;

  • щелкните на кнопке Остановить запись (Stop Macro) на панели Остановить запись (Stop Recorder) или выберите команду Сервис/Макрос/Остановить запись (Tools/Macro/Stop Recording).

7

Рис. 2

Замечание 3. По умолчанию панель l?f Остановить запись в Excel содержит две командные кнопки. Левая кнопка - это кнопка Остановить запись (Stop); щелкните на этой кнопке для остановки макрорекордера. Правая кнопка -это кнопка Относительная ссылка (Relative Reference). По умолчанию Excel записывает абсолютные ссылки на ячейки в ваши макросы. Кнопка Относительная ссылка является кнопкой-переключателем (toggle). Когда запись с относительными ссылками отключена, кнопка Относительная ссылка выглядит плоской; при помещении курсора мыши на кнопку вид кнопки изменяется и она выглядит отжатой. Когда запись с относительной ссылкой включена, кнопка Относительная ссылка на панели Остановить запись нажата (находится в «утопленном» положении). Щелкая на кнопке Относительная ссылка, можно включать и выключать запись с относительными ссылками во время записи по вашему желанию.

Задание 2. Выполните макрос FormatArialBoIdl2.

Для этого:

^выберите ячейку в рабочем листе (предпочтительнее ячейку, содержащую некоторый текст, чтобы вы могли видеть изменения);

^выберите команду Сервис/Макрос/Макросы… для отображения диалогового окна Макрос;

• выберите макрос PERSONAL.XLS!FormatAriaIBoIdl2 в списке Имя макроса и щелкните на кнопке Выполнить для запуска макроса FormatArialBoldl2. Текст в любой ячейке, которая была выделена до запуска вами этого макроса, будет теперь иметь формат полужирного шрифта Arial 12-го размера.

Упражнение

  1. Создайте макрос в Excel, который вычисляет сумму ячеек A1, A2 и выводит результат в ячейку A3 шрифтом Times New Roman, курсивом, 12 размером.

  2. Создайте макрос в Excel, который выводит на желтом фоне синими буквами в текущую ячейку имя, а справа от нее фамилию шрифтом Arial, полужирным, 12 размером.

  3. Создайте макрос в Excel, который выводит красными буквами в ячейку A3 слово Частное:”, справа от нее выводит частное ячеек A1 и A2 шрифтом

8

Times New Roman, курсивом, 12 размера.

Макросы Visual Basic for Applications сохраняются как часть файлов, в которых Excel (а также Word и Access) обычно содержит свои данные, – макросы сохраняются в файлах рабочих книг в Excel. Макросы сохраняются в специальной части файла данных, называемой Modules (модули). Модуль VBA содержит исходный код (source code) макроса – текстовое представление инструкций. Каждый файл рабочей книги Excel может не содержать модулей или содержать один или несколько модулей. Модули, сохраняемые в одной рабочей книге Excel, имеют общее название Project (проект).

При записи макроса в Excel вы можете определять только рабочую книгу, в которой Excel сохраняет записанный макрос, – текущую рабочую книгу, новую рабочую книгу или рабочую книгу Personal.xls. Excel выбирает модуль, в котором сохраняется записанный макрос, и при необходимости создает этот модуль. Когда Excel создает модуль, в котором сохраняется записанный макрос, модулю присваивается имя ModuleN, где N – это количество модулей, созданных для определенной рабочей книги во время текущего сеанса работы. Например, в первый раз, когда вы сохраняете записанный макрос в Personal.xls (личной книге макросов), Excel создает модуль с именем Module1. Если вы продолжаете записывать макросы в том же сеансе работы и сохранять их в Personal.xls, Excel продолжает сохранять записанные макросы в том же модуле Module1 до тех пор, пока вы не выберете другую рабочую книгу. Если позже в том же сеансе работы вы опять захотите сохранить записанные макросы в Personal.xls, Excel добавляет другой модуль с именем Module2 в эту книгу.

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

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

Задание 3. Запустите Редактор VB.

Для этого:

ь выберите Сервис/Макрос/Редактор Visual Basic (Tools/Macro/Visual Basic Editor) или нажмите сочетание клавиш Alt+F11;

ь выберите в меню View/Code или нажмите клавишу F7.

Excel запустит Редактор VB (рис. 3).

9

Project Explorer

Code Window

Properties Window

Рис. 3

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

В окне Редактора VB имеются три дочерних окна, каждое из которых отображает важную информацию о VBA-проекте. Project (Проект) - это группа модулей и других объектов, сохраняемых в определенной рабочей книге или шаблоне рабочей книги. Каждое из окон Редактора VB отображается по умолчанию в прикрепленных (docked) положениях (рис. 3).

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

Project Explorer (Окно проекта) содержит дерево-диаграмму открытых в данный момент файлов (рабочих книг) и объектов, содержащихся в этих файлах (объекты host-приложения, модули, ссылки, формы и так далее). Project Explorer можно использовать для перехода к различным модулям и другим объектам в проекте VB при помощи кнопок (панели инструментов этого окна) = View Code (Программа), ^ View Object (Объект) и Ш. Toggle Folders (Папки).

Properties Window (Окно свойств) содержит все свойства объекта текущего выбора. Вкладка Alphabetic (по алфавиту) этого окна предоставляет список

10

свойств выделенного объекта, составленный из имен свойств в алфавитном порядке. Вкладка Categorized (по категориям) отображает свойства объекта, отсортированные по категориям.

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

Когда Code Window находится в режиме Procedure View, видимым является исходный код только одного макроса. Используйте раскрывающийся список Procedure (процедура) для просмотра другого макроса. В режиме Full Module View вы можете также использовать раскрывающийся список Procedure для быстрого перехода к отдельному макросу.

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

Меню Редактора VB

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

Таблица 1 - Команды меню File

Команда

Горячая клавиша

Действие

Save <project>

(сохранить

<проект>)

Ctrl+S

Сохраняет текущий проект (презентацию, рисунок и т.д. в зависимости от приложения, в котором открыт Редактор VB) VBA на диске, включая все модули и формы.

Import File… (импорт файла)

Ctrl+M

Добавляет существующий модуль, форму или класс в текущий проект (презентацию). Вы можете импортировать только модули, формы или классы, сохраненные ранее командой Export File из другого проекта (презентации).

Export File… (экспорт файла)

Ctrl+E

Сохраняет текущий модуль, форму или класс в формате текстового файла для импортирования в другой проект или в целях архивирования.

Remove <item>… (удалить <…>)

Перманентно удаляет модуль или форму текущего выбора из проекта (презентации) VBA. Эта команда не доступна, если в Project Explorer не выбран никакой элемент.

11

Команда

Горячая клавиша

Действие

Print… (печать)

Ctrl+P

Печатает модуль или форму для документирования или с целью архивирования.

Close and Return to Microsoft Excel (закрыть и вернуться в Excel)

Alt+Q

Закрывает Редактор VB и возвращает вас в рабочую книгу, из которой был открыт Редактор VB.

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

Таблица 2 – Команды меню Edit

Команда

Горячая клавиша

Действие

Undo (отменить)

Ctrl+Z

Отменяет самую последнюю команду. Не все команды могут быть отменены. Меню доступно только в случае, если есть, что отменять.

Redo (вернуть)

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

Cut (вырезать)

Ctrl+X

Вырезает выделенный текст или объект и помещает его в Windows Clipboard. Выделенный текст или объект удаляется из модуля или формы.

Сору (копировать)

Ctrl+C

Копирует выделенный текст или объект и помещает его в Windows Clipboard. Выделенный текст или объект остается неизменным.

Paste (вставить)

Ctrl+V

Вставляет текст или объект из Windows Clipboard в текущий модуль или форму.

Clear (очистить)

Del

Удаляет выделенный текст или объект из модуля или формы.

Select All (выделить все)

Ctrl+A

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

Find… (найти)

Ctrl+F

Подобно команде Find в Word или Excel, позволяет находить указанный текст в модуле.

Find Next (найти далее)

F3

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

Replace… (заменить)

Ctrl+H

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

Indent

(увеличить

отступ)

Tab

Смещает весь выделенный текст вправо на интервал табуляции.

12

Команда

Горячая клавиша

Действие

Outdent

(уменьшить

отступ)

Shift+Tab Смещает весь выделенный текст влево на интервал табуляции.

List Properties/ Methods (список свойств/методов)

Ctrl+J

Открывает список в List Properties/Methods, отображая свойства и методы объекта, имя которого вы только что ввели. Когда курсор вставки находится на пустом месте в List Properties/Methods эта команда открывает список глобально доступных свойств и методов.

List Constants (список констант)

Ctrl+ Shift+J

Открывает список в Code Window, отображающий допустимые константы для свойства, которое вы только что ввели с предшествующим знаком “=”.

Quick Info (сведения)

Ctrl+I

Открывает всплывающее окно подсказки, отображающее правильный синтаксис для процедуры, функции или метода, который вы только что ввели в Code Window.

Parameter Info (параметры)

Ctrl+ Shift+I

Открывает всплывающее окно подсказки, отображающее параметры (называемые также аргументами) процедуры, функции или оператора, который вы только что ввели в Code Window.

Complete Word (завершить слово)

Ctrl+Space Редактор VB заканчивает слово, которое вы вводите, как только вы введете достаточно символов для того, чтобы VBA распознал ключевое слово.

Bookmarks (закладки)

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

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

Таблица 3 – Команды меню View

Команда

Горячая клавиша

Действие

Code (программа)

F7

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

Object (объект)

Shift+F7

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

13

Команда

Горячая клавиша

Действие

Definition (описание)

Shift+F2 Отображает исходный код VBA для процедуры или функции, на которую указывает курсор; отображает Object Browser для объектов в справке VBA.

Last Position (вернуться к последней позиции)

Ctrl+ Переходит в последнюю позицию в модуле после Shift+F2 использования команды меню Definition или после редактирования кода.

Object Browser

(просмотр

объектов)

F2

Открывает Object Browser, позволяющий определять, какие макросы доступны в данный момент.

Immediate Window (окно отладки)

Ctrl+G

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

Locals Window (окно локальных переменных)

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

Watch Window (окно

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

Отображает окно отладчика Watch Window (контрольные значения).

Call Stack… (стек вызова)

Ctrl+L

Отображает список последовательности вызовов для текущей функции или процедуры VBA.

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

Ctrl+R

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

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

F4

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

Toolbox (панель элементов)

Отображает Toolbox. Toolbox используется для добавления элементов управления в пользовательские диалоговые окна.

Tab Order (последовательно сть перехода)

Отображает диалоговое окно Tab Order, которое используется при создании пользовательских диалоговых окон.

Toolbars (панели инструментов)

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

Microsoft Excel

Alt+Fll

Возвращает вас в Microsoft Excel, из которого был запущен Редактор VB, но оставляет Редактор VB открытым.

Команды меню Insert (Вставка) позволяют добавлять различные объекты,

14

такие как модули и формы, в ваш проект. В меню Insert никакие команды не имеют «горячих клавиш». В табл. 4 приведены действия, выполняемые каждой командой этого меню.

Таблица 4 – Команды меню Insert

Команда Действие

Procedure… (процедура) UseForm

Вставляет новую процедуру (Sub, Function или Property) в текущий модуль. Процедура – это еще одно название макроса. Добавляет новую форму (используется для создания

пользовательских диалоговых окон) в проект. Module (модуль) Добавляет новый модуль в проект. Редактор VB дает этому модулю имя в соответствии с правилами, описанными ранее.

Class

Module

(модуль класса) File… (файл)

Добавляет в проект class module (модуль класса). Модули класса используются для создания пользовательских объектов в вашем проекте.

Позволяет вставлять текстовый файл, содержащий исходный код VBA, в модуль.

Команды меню Format (Формат) используются при создании пользовательских диалоговых окон и других форм. Команды меню Format позволяют выравнивать объекты в форме по отношению друг к другу, настраивать размер элемента управления в соответствии с его содержимым и выполнять многие другие полезные задачи. Команды меню Format представлены здесь для полноты изложения материала, хотя вы не будете их применять до тех пор, пока не начнете создавать собственные пользовательские диалоговые окна. В табл. 5 приведены команды меню Format и их действия. Заметьте, что эти команды не имеют «горячих клавиш».

Таблица 5 – Команды меню Format

Команда Действие

Align (выровнять)

Открывает подменю команд, которые позволяют выравнивать

выбранные объекты в форме по отношению друг к другу.

Здесь можно выравнивать объекты по верхней/нижней,

правой/левой границам, по центру или середине создаваемого

объекта.

Make Same Size

(выровнять

размер)

Size to Fit

(подогнать

размер)

Size to Grid

(выровнять

размер по сетке)

Открывает подменю команд, позволяющих изменять размер

выделенных объектов до размера указанного объекта.

Одновременно изменяет ширину и высоту объекта до соответствия размеру его содержимого.

Одновременно изменяет ширину и высоту объекта до ближайших меток сетки. Йри разработке форм Редактор VB отображает в форме сетку, чтобы было легче располагать и изменять размеры объектов в форме.

15

Команда Действие

Horizontal Spacing (интервал по горизонтали)

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

Vertical Spacing (интервал по вертикали)

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

Center in Form (разместить по центру в форме)

Открывает подменю команд, позволяющих изменять положение выбранных объектов, чтобы они были центрированы в форме горизонтально или вертикально.

Arrange Buttons

(разместить

кнопки)

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

Group (группировать)

Связывает несколько выбранных объектов вместе в одну группу, чтобы вы могли перемещать, изменять размер, вырезать или копировать объекты, обращаясь с ними, как с одним целым.

Ungroup (разделить)

Отменяет группировку объектов, которые перед этим были связаны вместе с помощью команды Group.

Order (порядок)

Открывает подменю команд, позволяющих изменять упорядочение сверху вниз (называемое z-order) перекрывающихся объектов в форме. Используйте команду Order, чтобы обеспечить, например, появление текстового окна всегда поверх графического объекта в форме.

Команды меню Debug (Отладка) используются при выполнении тестирования или отладки макросов. Debugging – так называется процесс нахождения и исправления ошибок в программе. В табл. 6 приведены команды меню Debug, их «горячие клавиши» и выполняемые действия.

Таблица 6 – Команды меню Debug

Команда

Горячая клавиша

Действие

Compile <project>

(компилировать

<проект>)

Компилирует проект, выбранный в данный момент в Project Explorer.

Step Into

(шаг с заходом)

F8

Выполняет исходный код вашего макроса по одному оператору каждый раз.

Step Over (шаг с обходом)

Shift+F8

Подобно команде Step Into команда Step Over позволяет выполнять все инструкции в макросе без паузы на каждой отдельной инструкции.

16

Команда

Горячая клавиша

Действие

Step Out

(шаг с выходом)

Ctrl+ Выполняет все остающиеся операторы в макросе Shift+F8 без паузы на каждом отдельном операторе.

Run to Cursor (выполнить до текущей позиции)

Ctrl+F8

Выполняет операторы исходного кода макроса от оператора, выполняющегося в данный момент, до текущей позиции курсора.

Add Watch… (добавить контрольное значение)

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

Edit Watch… (изменить контрольное значение)

Ctrl+W

Позволяет редактировать спецификации для наблюдаемых переменных и выражений, которые были созданы ранее с помощью команды Add Watch.

Quick Watch…

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

значение)

Shift+F9 Отображает текущее значение выбранного выражения.

Toggle Breakpoint (точка останова)

F9

Отмечает место (или отменяет отметку) в исходном коде VBA, где вы хотите остановить выполнение макроса.

Clear All

Breakpoints (снять все точки останова)

Ctrl+ Shift+F9

Удаляет все точки останова в модуле.

Set Next Statement (задать следующую инструкцию)

Ctrl+F9

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

Show Next

Statement

(показать

следующую

инструкцию)

Приводит к подсветке Редактором VB следующей строки кода, которая будет выполняться.

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

Команды меню Run (Запуск) позволяют начать выполнение макроса, прерывать или возобновлять его выполнение или возвращать прерванный макрос в состояние до выполнения (табл. 7).

17

Таблица 7 – Команды меню Run

Команда

Горячая клавиша

Действие

Run Sub/User Form (запуск подпрограммы/ User Form)

F5

Приводит к тому, что VBA запускает макрос, который редактируется в данный момент, то есть VBA запускает макрос, на тексте которого находится курсор вставки. Если какая-либо форма активна, VBA запускает эту форму.

Break (прервать)

Ctrl+Break

Прерывает выполнение вашего кода VBA и приводит к тому, что Редактор VB переходит в режим прерывания (Break mode). Break mode используется при отладке кода VBA.

Resert <project> (сброс)

Устанавливает все переменные модульного уровня и Call Stack (список последовательности вызовов) в исходное состояние.

Design Mode (конструктор)

Включает и выключает Design mode (режим проектирования или разработки) для проекта. В этом режиме никакой код в вашем проекте не выполняется, и события от элементов управления не обрабатываются.

Команды меню Tools (Сервис) не только позволяют выбрать макрос для выполнения, но и получить доступ к внешним библиотекам макросов и дополнительным элементам управления форм (кроме встроенных в VBA). Команды меню Tools обеспечивают также доступ к диалоговому окну Options (параметры) Редактора VB и свойствам проекта VBA текущего выбора в Project Explorer. В табл. 8 приведены команды меню Tools и их действия. Команды меню Tools не имеют «горячих клавиш».

Таблица 8 – Команды меню Tools

Команда Действие

References… (ссылки)

Отображает диалоговое окно References, позволяющее устанавливать ссылки на библиотеки объектов, библиотеки типов или другой проект VBA. После установления ссылки объекты, методы, свойства, процедуры и функции в этой ссылке появляются в диалоговом окне Object Browser.

Additional Controls… (дополнительные элементы)

Отображает диалоговое окно Additional Controls, позволяющее настраивать Toolbox (панель элементов) так, чтобы вы могли добавлять элементы управления в формы помимо встроенных в VBA. Диалоговое окно Additional Controls предназначено для добавления к панели элементов кнопок, которые позволяют добавлять к форме объекты, такие как рабочий лист Excel или документ Word.

Macros… (макросы)

Отображает диалоговое окно Macros, позволяющее создавать, редактировать, выполнять или удалять макросы.

18

Команда Действие

Options… (параметры)

Отображает диалоговое окно Options, позволяющее выбирать различные опции для Редактора VB, такие как число пробелов в интервале табуляции (tab stop), когда VBA проверяет синтаксис ваших операторов, и так далее.

<project> Properties… (свойства проекта)

Отображает диалоговое окно Project Properties, позволяющее устанавливать различные свойства вашего проекта VBA, такие как имя проекта, описание и файл контекстной справки. Это диалоговое окно позволяет также защищать проект, чтобы никто не мог его редактировать без указания пароля.

Digital Signature… (цифровая подпись)

Отображает диалоговое окно Digital Signature, в котором можно задать для проекта сертификат цифровой подписи.

В меню Add-lns находится всего одна команда, Add-In Manager, которая приводит к отображению диалогового окна Add-In Manager. Это окно позволяет регистрировать, загружать или выгружать и определять поведение дополнений.

В Редакторе VB имеются два дополнительных меню: Window (окно) и Help (помощь). Оба этих меню содержат команды, идентичные меню Window и Help, имеющимся в других приложениях Microsoft Windows. Команды в меню Window позволяют выбирать активное окно, разбивать текущее окно, размещать дочерние окна вертикально и горизонтально, организовывать дочерние окна VB в виде каскада или выравнивать значки минимизированных дочерних окон. Команды меню Help также идентичны командам меню Help в Word, Excel и других приложениях Microsoft Windows. Меню Help Редактора VB позволяет получать контекстно-зависимую подсказку посредством справочной системы Microsoft Office и просматривать файлы справочной системы VBA для host-приложения, из которого вы запустили Редактор VB. Если у вас имеется модем или доступ к Internet, вы можете использовать Help/MSDN on the Web для соединения с разнообразными страницами Web, содержащими информацию о продуктах Microsoft и VBA. Последняя команда в меню Help – это команда About Microsoft Visual Basic. Она отображает диалоговое окно, содержащее сведения об авторских правах на Microsoft Visual Basic. Диалоговое окно About Microsoft Visual Basic содержит также командную кнопку System Info, которая отображает информацию о вашей вычислительной системе: какие драйверы видеосистемы, звуковой системы и принтера установлены, какие программы загружены в память в данное время, какие программы зарегистрированы в системном реестре (Windows System Registry) и другую техническую информацию.

Панелями инструментов Редактора VB

По умолчанию Редактор VB отображает только панель инструментов Standard (рис. 4). В конце панели, справа, находится кнопка (со стрелкой) More Buttons. Если вы хотите удалить с панели или добавить некоторые кнопки на панель Standard, нажмите на эту кнопку, а затем укажите соответствующую кнопку в появляющемся меню.

19

Запуск программы Помощник по Office

Окно проекта Сброс

Вырезать Отменить Вставить

Панель

Прервать

Окно

Вставка объекта

аца,1

Сохранить

1-1

\h

Найти

Дополнительные кнопки элементов

LnS,ColZ

свойств

Копировать

Приложение Excel

Повторить

Конструктор

Просмотр объектов

Позиция курсора

Рис. 4

Кроме панели Standard Редактор VB предлагает еще три панели: Edit (правка), Debug (отладка) и UseForm.

Вы можете управлять тем, какие панели инструментов отображает Редактор VB с помощью команды View/Toolbars (Вид/Панели инструментов).

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

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

  2. Что такое макрорекордер? Каковы его возможности?

  3. Как задаются стартовые условия для макроса?

  4. Как записать макрос?

  5. Как выполнить макрос?

  6. Назовите основные компоненты интегрированной среды VBA.

Соседние файлы в папке Visual Basic