Пару дней назад читатель спросил, есть ли способ автоматизировать создание презентаций PowerPoint с нуля, а затем быстро добавлять слайды в существующую презентацию. Я думаю, что этот сценарий может быть в списке самых полезных макросов PowerPoint.
Как мы указывали ранее, PowerPoint не включает средство записи макросов (в отличие от Excel и Word, которые имеют встроенные средства записи макросов). Поэтому у нас остался старый добрый Visual Basic for Application, который мы можем использовать для создания простых макросов для автоматизации PowerPoint. Существуют и другие альтернативы PowerPoint Automation, но они выходят за рамки данного руководства.
В сегодняшнем кратком руководстве мы рассмотрим три различных варианта использования:
- Создание новой презентации (пустой или с использованием шаблона)
- Добавьте слайды в существующую презентацию.
- Сочетание двух вышеупомянутых случаев (Создание с нуля и добавление слайдов)
Давайте начнем.
Посмотрите на ленту. Если вы не видите запись «Разработчик» в меню, перед началом кодирования вам необходимо включить вкладку «Разработчик».
После того, как вы сделаете меню «Разработчик» видимым на своей ленте, нажмите « Разработчик », затем нажмите кнопку « Visual Basic » (или просто нажмите «Alt+F11»), чтобы открыть Visual Basic IDE.
VBA для создания презентации PowerPoint
- В редакторе VB щелкните правой кнопкой мыши VBAProject и нажмите « Вставить » .
- Выберите модуль .
- Вставьте следующий код во вновь созданный модуль.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- Нажмите «Файл», а затем «Сохранить».
- Чтобы запустить свой код, нажмите «Выполнить», а затем выберите «Выполнить подчиненную/пользовательскую форму» (или просто F5).
- Закройте редактор VB.
VBA для вставки слайдов
- В редакторе VB щелкните правой кнопкой мыши VBAProject и нажмите «Вставить».
- Выберите модуль
- Вставьте следующий код во вновь созданный модуль.
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
- Нажмите «Файл», а затем «Сохранить».
- Чтобы запустить свой код, нажмите «Выполнить», а затем выберите «Выполнить подчиненную/пользовательскую форму» (или просто F5).
- Закройте редактор 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 в соответствии с нашими потребностями.