Как создавать и добавлять слайды в презентации PowerPoint с помощью VBA?

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

Как мы указывали ранее, PowerPoint не включает средство записи макросов (в отличие от Excel и Word, которые имеют встроенные средства записи макросов). Поэтому у нас остался старый добрый Visual Basic for Application, который мы можем использовать для создания простых макросов для автоматизации PowerPoint. Существуют и другие альтернативы PowerPoint Automation, но они выходят за рамки данного руководства.

В сегодняшнем кратком руководстве мы рассмотрим три различных варианта использования:

  1. Создание новой презентации (пустой или с использованием шаблона)
  2. Добавьте слайды в существующую презентацию.
  3. Сочетание двух вышеупомянутых случаев (Создание с нуля и добавление слайдов)

Давайте начнем.

Посмотрите на ленту. Если вы не видите запись «Разработчик» в меню, перед началом кодирования вам необходимо включить вкладку «Разработчик».

После того, как вы сделаете меню «Разработчик» видимым на своей ленте, нажмите « Разработчик », затем нажмите кнопку « Visual Basic » (или просто нажмите «Alt+F11»), чтобы открыть Visual Basic IDE.

VBA для создания презентации PowerPoint

  1. В редакторе VB щелкните правой кнопкой мыши VBAProject и нажмите « Вставить » .
  2. Выберите модуль .
  3. Вставьте следующий код во вновь созданный модуль.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
  1. Нажмите «Файл», а затем «Сохранить».
  2. Чтобы запустить свой код, нажмите «Выполнить», а затем выберите «Выполнить подчиненную/пользовательскую форму» (или просто F5).
  3. Закройте редактор VB.

VBA для вставки слайдов

  1. В редакторе VB щелкните правой кнопкой мыши VBAProject и нажмите «Вставить».
  2. Выберите модуль
  3. Вставьте следующий код во вновь созданный модуль.
Sub CreateSlide()
Dim NewSlide as Slide
'This statement ads a title slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
End Sub
  1. Нажмите «Файл», а затем «Сохранить».
  2. Чтобы запустить свой код, нажмите «Выполнить», а затем выберите «Выполнить подчиненную/пользовательскую форму» (или просто F5).
  3. Закройте редактор VB.

Макрос для настройки новой презентации и добавления слайдов

Это было бы просто смешиванием двух фрагментов, описанных выше.

Sub CreatePres_AddSlides()
Dim NewPres as Presentation
Dim NewSlide as Slide
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
' Title Slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
'Save the new PowerPoint file
NewPres.SaveAs("MyPresentation.pptx")
End Sub

Далее вы можете ознакомиться с нашим руководством по программному созданию фигур в PowerPoint с помощью VBA.

Создание презентации PowerPoint из Excel

В последнем случае вы хотите создать презентацию PowerPoint прямо из электронной таблицы Excel. Вы можете использовать ту же технику из Word и других приложений Microsoft 365.

  • Свяжите электронную таблицу с моделью данных PowerPoint (из Инструменты>>Ссылки)
  • Вставьте кнопку в электронную таблицу Excel («Разработчик» >> «Вставить», а затем выберите «Командную кнопку»).
  • Вставьте приведенный ниже код VBA в свой проект электронной таблицы VBA (непосредственно в лист или в модуль VBA).
  • Измените сценарий по мере необходимости.
  • Запустите (нажмите F5) и проверьте результат.
Sub CreatePresentationFromExcel()


Dim MyPPt As PowerPoint.Application
Dim NewPres As PowerPoint.Presentation
Dim NewSlide As Slide
Set MyPPt = CreateObject("PowerPoint.Application")

Set NewPres = MyPPt.Presentations.Add
Set NewSlide = MyPPt.ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)

NewPres.SaveAs ("MyPresentation.pptx")
NewPres.Close

MyPPt.Quit

MsgBox ("Presentation saved")
End Sub

Наслаждайтесь 🙂

Плюсы Excel VBA PowerPoint

  • Использование VBA в Powerpoint упрощает работу с файлом ppt, содержащим большое количество слайдов с огромным содержимым.
  • VBA с Powerpoint обеспечивает некоторую автоматизацию даже при ограниченном количестве доступных функций.

Минусы Excel VBA PowerPoint

  • Нам нужно выбрать Библиотеку объектов Microsoft PowerPoint 15.0 из параметра «Справочник», расположенного в пункте меню «Инструменты», который нам нужен в начале пример 1, каждый раз, когда мы запускаем код PowerPoint.

То, что нужно запомнить

  • После написания кода сохраните файл в формате презентации с поддержкой макросов. Это поможет нам избежать потери кода и повторного использования одного и того же кода в будущем.
  • Функция перекодирования здесь не будет работать, так как нам нужно перейти из Excel в PowerPoint, изменив интерфейс между страницами.
  • Всегда компилируйте код перед запуском. Это поможет вам найти ошибку в коде. Это очень полезно, когда мы пишем большие строки кода.
  • Чтобы запустить и реализовать код, нам нужно открыть лист Excel с диаграммой, которую мы хотим вставить в слайд PowerPoint.
  • Мы можем настроить диаграмму в PowerPoint в соответствии с нашими потребностями.

Имбирь 2.7.53.0

Имбирь 2.7.53.0

Ginger — бесплатная программа для проверки орфографии и грамматики.

Блоки

Блоки

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

Прези 6.26

Прези 6.26

Prezi — бесплатное приложение, позволяющее создавать цифровые презентации как онлайн, так и офлайн.

Матвей

Матвей

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

Adobe Презентер

Adobe Презентер

Adobe Presenter — это программное обеспечение для электронного обучения, выпущенное Adobe Systems, доступное на платформе Microsoft Windows в виде подключаемого модуля Microsoft PowerPoint.

Тукан 2.3.0

Тукан 2.3.0

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

ENetВьет 24.2

ENetВьет 24.2

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

Дуолинго

Дуолинго

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

RapidTyping

RapidTyping

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

МатТип 7.4.10.53

МатТип 7.4.10.53

MathType — это интерактивное программное обеспечение для уравнений от разработчика Design Science (Dessci), которое позволяет создавать и комментировать математические обозначения для обработки текста, презентаций, электронного обучения и т. д. Этот редактор также используется для создания документов TeX, LaTeX и MathML.