3. • Диалект Visual Basic
• Для работы с Microsoft Office
• Программирование для Office – любой
COM-совместимый язык
• Visual Basic,VBScript, Java, JScript, C++, Delphi,
VB.NET, C#
• VBA-хост:
• Microsoft Office
• CorelDraw, WordPerfect Office, AutoCAD...
VBA двумя слайдами
4. • Универсальный язык
• РодственникVisual Basic
• РодительVBScript
• Ориентирован на пользователей, а не
программистов
• Готовая среда разработки и выполнения
• Нетребовательный к ресурсам, достаточно
быстродействующий
• Интерпретируемый язык
VBA двумя слайдами
5. • Макрос – программа наVBA
• Макрорекордер – средство
автоматизированного создания макросов
• Запись действий, выполняемых пользователем
• Позволяет записать самые простые программы
• Вкладка Developer в Office 2007/2010
• По умолчанию отключена
• Включается через BackstageView
Макрорекордер
7. • Относительные или абсолютные
ссылки?
• Имя макроса
• Не должно начинаться с цифры
• Не должно содержать пробелы и знаки
пунктуации
• Можно использовать символы локального
алфавита
• Максимальная длина в Excel - 64 символа, в
Word - 80 символов
Запись макроса: начало
8. • Текущая книга
• Новая книга
• Персональная книга
макросов
• PERSONAL.XLS
• доступны во всех книгах
Хорошая идея: записать нужные действия в
макрорекордере и затем отредактировать вручную
Куда писать макрос?
9. • Окно Macros
• Alt + F8
• Quick AccessToolbar
• Макросы Auto_*
• Для обратной совместимости с Excel XP
• Выполняются только в случае низкого
уровня безопасности
• Параметр командной строки
• Excel.exe /имя_макроса
Запуск макроса
12. • Работа с макросами
• Элементы управления
• XML
• Информационные панели
Что мы получаем
13. • VBA – язык программирования для Office
• Макрорекордер позволяет создатьVBA-
программу, не владея самимVBA
• Макрос может быть записан в текушей
книге, новой книге, персональной книге
(глобально)
• Через командную строку можно открыть
Excel с одновременным запуском макроса
• Вкладка Developer содержит инструменты
VBA-разработчика
Подводим итоги
16. Контрольные вопросы
• Что такое VBA?
• В каких приложениях вы можете использовать
макрорекордер?
• По каким правилам формируется имя макроса?
• Как запустить макрос из командной строки?
• Как включить отображение вкладки Developer?