Преди няколко дни читател попита дали има начин да се автоматизира създаването на PowerPoint презентации от нулата и след това бързо да се добавят слайдове към тази съществуваща презентация. Мисля, че този скрипт може да бъде изключително полезен в списъка на най-полезните макроси за PowerPoint.
Както посочихме в миналото, PowerPoint не включва записващо устройство за макроси (в противен случай като Excel и Word, които имат вградени рекордери за макроси). Следователно, трябва да използваме Visual Basic за приложения, който можем да използваме за създаване на прости макроси за автоматизиране на PowerPoint.
Случаи на употреба
- Създаване на нова презентация (празно или с помощта на шаблон)
- Добавяне на слайдове към съществуваща презентация
- Комбинация от двата случая по-горе (Създаване от нулата и добавяне на слайдове)
Да започваме!
Вижте лентата. Ако не виждате записа за разработчик в менюто, преди да започнете кодирането, ще трябва да активирате раздела за програмисти.
VBA за създаване на презентация на PowerPoint
- Във VB Editor щракнете с десния бутон върху VBAProject и натиснете Insert.
- Изберете Модул.
- Поставете следния код в новосъздадения модул:
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- Натиснете File и след това Save.
- За да стартирате кода, натиснете Run и след това изберете Run Sub/User Form (или просто натиснете F5).
- Затворете VB редактора.
VBA за вмъкване на слайдове
- Във VB Editor щракнете с десния бутон върху VBAProject и натиснете Insert.
- Изберете Модул.
- Поставете следния код в новосъздадения модул:
Sub CreateSlide()
Dim NewSlide as Slide
'Този код добавя слайд с заглавие
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'Този код добавя празен слайд на второто място
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
End Sub
- Натиснете File и след това Save.
- За да стартирате кода, натиснете Run и след това изберете Run Sub/User Form (или просто натиснете F5).
- Затворете VB редактора.
Макрос за настройка на нова презентация и добавяне на слайдове
Това ще бъде просто смесване на двата фрагмента, описани по-горе.
Sub CreatePres_AddSlides()
Dim NewPres as Presentation
Dim NewSlide as Slide
Set NewPres = Presentations.Add
' Заглавен слайд
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
' Добавя празен слайд на второ място
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
' Запазете новия PowerPoint файл
NewPres.SaveAs("MyPresentation.pptx")
End Sub
След това можете да разгледате нашия урок за програмно създаване на форми в PowerPoint с VBA.
Генерирайте презентация на PowerPoint от Excel
Последният случай е, че искате да създадете презентация на PowerPoint направо от електронна таблица на Excel. Можете да използвате същата техника от Word и други приложения на Microsoft 365.
| Стъпка |
Описание |
| 1 |
Свържете електронната таблица с модела на данни на PowerPoint (от Инструменти > Справки) |
| 2 |
Поставете бутон във вашата електронна таблица на Excel (Разработчик > Вмъкване и след това изберете команден бутон). |
| 3 |
Поставете кода на VBA по-долу във вашия VBA проект за електронна таблица (директно в листа или в VBA модул). |
| 4 |
Променете скрипта според изискванията. |
| 5 |
Пуснете (натиснете 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 Object Library от опцията Reference, намираща се в опцията на меню Tool, преди да стартирате примера.
Неща, които трябва да запомните
- Запазете файла във формата на презентация с активирани макроси, след като напишете кода. Това ще намали риска от загуба на кода и ще улесни повторната му употреба.
- Функцията за прекодиране не работи тук, тъй като трябва да преминем от Excel към PowerPoint, променяйки интерфейса между страниците.
- Винаги компилирайте кода преди стартиране. Това е полезно за откриване на грешки, особено при обширен код.
- За да стартирате и внедрите кода, отворете Excel листа с диаграмата, която искате да поставите в PowerPoint слайд.
- Можете да подравните диаграмата в PowerPoint, според вашите нужди.
Петя -
Имам опит с VBA, но не знаех, че може да се използва за PowerPoint. Радвам се, че намерих тази статия! Ще я споделя с колегите си
Нина -
Тази тема е наистина важна за много от нас! Благодаря за информацията, определено ще я изпробвам на следващия си проект.
Мартин IT -
Имам въпрос! Как мога да настроя макросите, за да добавя автоматично изображения към слайдовете? Лесно ли е
Димитър Mèo -
Знаех, че VBA може много, но да добавя слайдове в PowerPoint? Това е невероятно! Определено ще пробвам.
Иван -
Страхотна статия! Никога не съм си представял, че мога да добавям слайдове в PowerPoint с VBA. Благодаря за полезната информация.
Елена -
Наистина полезно! Споделям, че следвайте тези стъпки и определено ще ви спести много време при създаването на презентации
Соня -
Какви са ограничението на VBA при работа с PowerPoint? Има ли функции, които не мога да използвам?
Радостина 123 -
Тази информация е живото решение на проблема ми! Работя с PowerPoint всеки ден и просто не знаех как да автоматизирам процеса до сега. Благодаря ви
Симеон -
Много съм впечатлен от начина, по който е написана статията. Лесно е да се разбере и следва. Сега мога да добавям слайдове с VBA
Тихомир -
Много полезно! Бих предложил да добавите и примери с код за по-добро разбиране. Винаги е интересно да се види как работи