Институт управления, бизнеса и права
Опубликован: 25.03.2009 | Доступ: свободный | Студентов: 7087 / 1448 | Оценка: 4.41 / 4.15 | Длительность: 14:33:00
Лекция 3:

VBA-редактор

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >
Аннотация: Немалая часть работы VBA-программиста проводится в так называемом визуальном режиме. Здесь не требуется знания особенностей написания команд на VBA или управляющих структур языка. Вы работаете с командами меню, создаёте формы, настраиваете элементы управления, создаете обработчики событий. Эта лекция посвящена VBA-редактору и особенностям работы с ним.

3.1. Особенности главного меню VBA-редактора

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

  • File (Файл) — служит для работы с файлами.
  • File • Save — сохраняет файл.
  • File • Import File — позволяет импортировать внешний файл в редактор. Например, таким образом можно добавить в свой проект модуль (то есть — программный код) или форму.
  • File • Export File — экспортирует данные из редактора во внешний файл. Например, этой командой можно сохранить редактируемую форму и передать ее другому разработчику.
  • File • Close and Return To Microsoft Word — закрывает VBA-редактор и возвращается в Microsoft Word (аналогичная команда есть и для MS Excel). Вы можете просто переключаться между редактором и основным приложением в Панели задач Windows, не закрывая редактор.
  • Edit (Правка) — содержит команды для правки. Помимо стандартных команд отмены и возврата последнего действия ( Undo, Redo ), вырезания, копирования, вставки ( Cut, Copy, Insert ), поиска ( Find ), это меню содержит несколько особенных команд. В частности, это List Properties/Methods (Список Свойств/Методов) и другие.
  • View (Вид) — cодержит команды для отображения различных окон редактора. Названия команд соответствуют названиям окон.
  • Insert (Вставка) — служит для вставки в проект форм ( Insert • User Form ), модулей ( Insert • Module ), процедур ( Insert • Procedure ), файлов ( Insert • File ) и модулей класса ( Insert • Class Module ). Чаще всего вам придется вставлять в проект формы. Эти команды продублированы на панели инструментов редактора.
  • Format (Форматирование) — служит для управления расположением элементов управления на формах.
  • Debug (Отладка) — содержит команды, позволяющие отлаживать программы.
  • Run (Запуск) — содержит команды для управления выполнением программ. В частности, команда Run • Sub/User Form (Запуск • Процедура/Форма) запускает на выполнение активную процедуру или форму (рядом с этой командой стоит характерный зеленый треугольник). Команда Run • Break (Запуск • Приостановить) — приостанавливает выполнение программы, команда Run • Reset (Запуск • Перезапуск) – останавливает выполнение программы. Эти команды продублированы на панели инструментов редактора в виде кнопок с соответствующими пиктограммами.
  • Tools (Инструменты) — содержит средства для настройки свойств редактора, подключения дополнительных библиотек объектов.
  • Add-Ins (Дополнения) — позволяет управлять дополнениями. По умолчанию это меню содержит лишь одну команду, запускающую менеджер дополнений.
  • Window (Окно) — стандартные команды для работы с окнами.
  • Help (Помощь) — помощь по VBA.

В дальшейнем мы подробно рассмотрим многие из команд главного меню. А сейчас давайте поговорим об окне Project — вам постоянно придется пользоваться им.

3.2. Подробности об окне Project

Окно Project служит для навигации по проекту (рис. 3.1.).

Окно Project

Рис. 3.1. Окно Project

Каждый открытый документ представляет собой отдельный проект. На рис. 3.1. вы можете видеть окно Project для только что созданного документа MS Word. В проект добавлена форма.

Проект имеет иерархическую структуру. Так, в разделе Microsoft Word Objects (Объекты Microsoft Word) мы можем видеть объект ThisDocument (Этот документ), то есть документ, который мы создали. В разделе Forms (Формы) мы можем видеть объект UserForm1 — только что вставленную в проект форму.

Чтобы отобразить объект, достаточно сделать по нему двойной щелчок или нажать на кнопку View Object (вторая слева в верхней части окна Project ). Чтобы просмотреть код объекта надо нажать на кнопку View Code (крайняя левая кнопка).

Щелкнув правой кнопкой мыши по названию проекта, можно увидеть его контекстное меню. Это меню содержит наиболее часто используемые команды для работы с проектами. В частности, особый интерес представляет команда Project Properties (Свойства проекта).

В окне Project Properties обратите внимание на вкладку Protection (Защита). Она позволяет защитить проект от просмотра и закрыть его паролем.

Для защиты проекта от просмотра установите галочку в поле Lock project for viewing (Закрыть проект от просмотра), для закрытия проекта паролем, введите в поля Password (Пароль) и Confirm password (Подтвердить пароль) пароль.

Существует специальное ПО, которое позволяет восстанавливать забытые пароли к VBA-проектам. Как вы понимаете, оно может помочь получить доступ в проект не только законным владельцам, но и злоумышленникам. Поэтому если вы, например, передаете кому-то ценный VBA-проект по слабо защищенным каналам связи — лучше зашифруйте весь файл с помощью какой-нибудь программы шифрования.

Еще одна полезная возможность, связанная с управлением проектами – подписывание проектов.

Прежде чем подписать проект, нужно создать цифровой сертификат для проектов VBA. Чтобы создать его, пройдите по пути Пуск • Все программы • Microsoft Office • Microsoft Office Tools • Digital Certificate for VBA Projects. Введите в появившемся окне имя для сертификата.

Чтобы теперь подписать проект, выделите его в окне Project и воспользуйтесь командой Tools • Digital Signature. В появившемся окне нажмите на кнопку Выбрать — появится окно для выбора сертификата. Выберите из этого окна интересующий вас сертификат. В нашем случае здесь присутствует лишь один, заранее созданный, сертификат. Вот как выглядит окно цифровой подписи после завершения выбора (рис. 3.2.)

Цифровая подпись проектов

Рис. 3.2. Цифровая подпись проектов

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

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

Теперь займемся работой с формами и элементами управления

3.3. Формы и элементы управления

03-01-Формы и элементы управления.docm — пример п. 3.3. — 3.6

Создайте новый документ Microsoft Word и откройте редактор VBA. Вставьте в проект новую форму командой Insert • User Form (Вставка • Форма). Вот что должно получиться (рис. 3.3.).

Новая форма в окне редактора VBA

увеличить изображение
Рис. 3.3. Новая форма в окне редактора VBA

Как видите, форма — это пустая заготовка будущего диалогового окна вашего приложения.

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

Обратите внимание на окно Properties (Свойства). Как вы уже знаете, оно содержит свойства объектов. Для выбора объекта, свойства которого будут отображены в этом окне, нужно либо выделить объект, либо указать его в списке, который находится в верхней части окна Properties.

Окно Toolbox (Элементы управления) содержит элементы управления, которые можно добавлять на форму. Элементы управления — это все то, что служит для управления работой программ. Например: кнопки, поля ввода, полосы прокрутки и так далее.

Для того, чтобы добавить элемент управления на форму, нажмите в окне Toolbox кнопку с изображением этого элемента и выделите мышью ту область на форме, которую он должен занять

Нажмем на кнопку Toolbox'а с изображением кнопки и добавим новую кнопку на форму. Вот, что у нас получилось (рис. 3.4.).

Кнопка, добавленная на форму

увеличить изображение
Рис. 3.4. Кнопка, добавленная на форму

Вокруг кнопки вы можете видеть маркеры выделения, которые служат для изменения ее размера. "Схватив" элемент управления мышью, вы можете перемещать его по форме.

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >
Евгений Ушаков
Евгений Ушаков

Добрый день! Поясните, пожалуйста, 3000 р. стоит документ об окончании курса. Если он не нужен, то можно учиться бесплатно?

Александр Новиков
Александр Новиков

Добрый день! Очень нужен справочник по объектам VBA c описание их методов и свойств.

Кто-нибудь знает, где можно приобрести?

(Он конечно есть в VBA - Object browser, но не очень удобный)

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Михаил Алексеев
Михаил Алексеев
Россия, Уфа, УГАТУ, 2002