Зачем нужны макросы в PowerPoint?
Начну с того, что задачи для программирования в PowerPoint достаточно специфические, в большинстве случаев они решаются через Excel. Однако, ряд задач решить таким образом не удастся. Например:
- Добавить на каждый слайд презентации progressbar с показом оставшегося количества слайдов
- Убрать весь alternative text, заголовки и гиперссылки с каждой формы и рисунка
- Автоматически рисовать фигуру по заданным параметрам, например, для перехода в определенное место презентации
- Создать умное оглавление
- Сделать вышеперечисленное для всех презентаций в папке (пользуясь случаем – передаю привет трудягам, у кого их больше 30 на периодическом обновлении)
Как создавать макросы?
Если вы привыкли создавать и запуска макросы из файла с поддержкой макросов – здесь все без изменений. Привычным нажатием на Alt + F11 (или с вкладки Разработчик на ленте) заходите в VBE, добавляете модуль и вставляете код макроса. Запустить код можно по кнопке Run или по нажатию на F5.
Все становится сложнее, как только вы решаете выполнять код макроса достаточно часто. В Excel для этих целей используются надстройки и кнопки на панели быстрого доступа.
В PowerPoint привычные действия такого результата не дадут. Даже если вы сохраните вашу презентацию с поддержкой макросов и написанным кодом как надстройку, подключите ее, то вы не сможете запускать макросы. Честное слово, можете попробовать самостоятельно. Я раз 5 попробовал прежде, чем смотреть в интернете в чем же все-таки дело.
А проблема в том, что по умолчанию в PowerPoint вы не можете даже открыть на чтение код макросов в надстройках. Поэтому идем дальше:
Прописываем в регистре Windows возможность редактирования надстроек
Слава богу не мы одни таким вопросом задавались, поэтому есть готовый рецепт
- Нажмите на клавиши Win + R
- В появившемся окне вводим regedit
- Идем в папку HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\PowerPoint\Options
(12.0 для Office 2007, 14.0 для Office 2010, 15.0 для Office 2013, 16.0 для Office 2016) - Щелкаем в правом окне правой кнопкой мыши –> New -> DWORD
- Имя = DebugAddins, значение = 1
Перезапустите PowerPoint – теперь вы сможете видеть в среде VBE код макросов из надстроек.
**Как добавлять/Убирать макросы из надстройки PowerPoint **
В Excel вы редактируете код макросов надстроек, сохраняете изменения и можете быть уверены в том, что перезапуске приложения надстройка предстанет перед вами в обновленном виде.
А вот в PowerPoint это не так. Не знаю точно из-за чего сделано это ограничения, но кнопка сохранить не производит никаких изменений в вашу надстройку.
Поэтому моя рекомендация – всегда хранить у себя копию надстройки в виде презентации с поддержкой макросов. Если нужно внести изменения в надстройку, то:
- Идем в презентацию с поддержкой макросов
- Вносим изменения в код макросов. Сохраняем изменения в презентации
- В параметрах PowerPoint отключаем подключенную надстройку
- Сохраняем презентацию с поддержкой макросов как надстройку с перезаписью
- В параметрах PowerPoint подключаем надстройку
Непростые манипуляции по сравнению с Excel, да?
Проблема с панелью быстрого доступа
Для тех, кто также как и я, любит добавлять кнопки на панель быстрого доступа:
В PowerPoint делать этого нельзя, равно как и добавить кнопки на ленту. Если быть совсем точным, сделать это возможно, но делать это придется через специальную надстройку в Excel. В ней можно дорисовать нужные вкладки.
Для себя я остановился на запуске макросов из VBE по кнопке F5.
Если вы все еще не передумали насчет макросов в PowerPoint, то:
Ресурсы по VBA в PowerPoint
Как вы, наверное, догадались – литературы по VBA в PowerPoint как таковой нет. По крайней мере, я не нашел – если поделитесь ссылкой буду рад.
Со статьями на английском языке немного попроще – для себя нашел весьма полезными ресурсы
Да. Форму, созданную в надстройке я вижу в редакторе VBA. Как запустить то её из презентации?