Гость |
Основы программирования на VBA в PowerPoint
Адаптировано для версии 2016
Содержание
|
Общие замечания
В целом, складывается впечатление, что новая команда программистов-ленточников просто не справилась с адекватной реализацией VBA в PowerPoint, что на порядок усложнило работу с ним по сравнению с версией XP (2003).
Во-первых, ликвидация макрорекордера (macro recorder) заодно уничтожила самое главное преимущество — возможность быстрого получения сложного кода, который можно было изучать и корректировать.
Во-вторых, большинство возможностей доступа к разнообразным настройкам реализовано крайне странно и всегда требует «танца с бубном». Либо вы знаете, какой непрямой дорожкой это можно сделать, либо у вас ничего не получится.
В-третьих, почти ни один вопрос не может быть напрямую решен за счет Интернет-ресурсов. Если и описано, что нужно сделать, то категорически непонятно — как. Многие решения изобилуют логическими и программными ошибками, неверно трактуют и, соответственно, используют объектную модель. Отсюда вытекает, что пример, работающий в описываемой ситуации, категорически не будет выполняться в другой.
Настройки и грячие клавиши
Панель Разработчик (Developer)
Окно свойств (Properties)
Alt+F10
Alt+F11
Зачем это нужно?
Для данной программы подобный вопрос более чем актуален в связи с неочевидностью ответа на него, ведь и так все работает, а проблем тоже хватает.
Лично мне (на данном этапе) видятся следующие варианты.
- Создание интерактивных слайдов.
- Программное создание объектов с заданными свойствами.
Основы объектной модели
Речь пойдет именно о ключевых, базовых объектах, без которых невозможно ни понимание сути, ни использование для программирования.
Для начала вы можете попробовать воспользоваться «полной» информацией от Microsoft.
Слайд(ы)
Процедуры автоматического запуска
- Sub Auto_Open() — запускается на выполнение сразу после открытия презентации.
- Sub Auto_Close() — получает выполняется перед закрытием презентации.
- Sub Auto_Print() — получает выполняется перед печатью презентации.
- Sub Auto_ShowBegin() — запускается перед началом слайд-шоу.
- Sub Auto_ShowEnd() — запускается после окончания слайд-шоу.
- Sub Auto_NextSlide(Index As Long) — выполняется в процессе показа, когда осуществляется переход на следующий слайд. Параметр является SlideIndex слайда, готового отобразиться.