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

Преди няколко дни читател попита дали има начин да се автоматизира създаването на PowerPoint презентации от нулата и след това бързо да се добавят слайдове към тази съществуваща презентация. Мисля, че този скрипт може да бъде изключително полезен в списъка на най-полезните макроси за PowerPoint.

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

Случаи на употреба

  1. Създаване на нова презентация (празно или с помощта на шаблон)
  2. Добавяне на слайдове към съществуваща презентация
  3. Комбинация от двата случая по-горе (Създаване от нулата и добавяне на слайдове)

Да започваме!

Вижте лентата. Ако не виждате записа за разработчик в менюто, преди да започнете кодирането, ще трябва да активирате раздела за програмисти.

VBA за създаване на презентация на PowerPoint

  1. Във VB Editor щракнете с десния бутон върху VBAProject и натиснете Insert.
  2. Изберете Модул.
  3. Поставете следния код в новосъздадения модул:
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
  1. Натиснете File и след това Save.
  2. За да стартирате кода, натиснете Run и след това изберете Run Sub/User Form (или просто натиснете F5).
  3. Затворете VB редактора.

VBA за вмъкване на слайдове

  1. Във VB Editor щракнете с десния бутон върху VBAProject и натиснете Insert.
  2. Изберете Модул.
  3. Поставете следния код в новосъздадения модул:
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
  1. Натиснете File и след това Save.
  2. За да стартирате кода, натиснете Run и след това изберете Run Sub/User Form (или просто натиснете F5).
  3. Затворете 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, според вашите нужди.

(10) Коментари

  1. Петя -

    Имам опит с VBA, но не знаех, че може да се използва за PowerPoint. Радвам се, че намерих тази статия! Ще я споделя с колегите си

  2. Нина -

    Тази тема е наистина важна за много от нас! Благодаря за информацията, определено ще я изпробвам на следващия си проект.

  3. Мартин IT -

    Имам въпрос! Как мога да настроя макросите, за да добавя автоматично изображения към слайдовете? Лесно ли е

  4. Димитър Mèo -

    Знаех, че VBA може много, но да добавя слайдове в PowerPoint? Това е невероятно! Определено ще пробвам.

  5. Иван -

    Страхотна статия! Никога не съм си представял, че мога да добавям слайдове в PowerPoint с VBA. Благодаря за полезната информация.

  6. Елена -

    Наистина полезно! Споделям, че следвайте тези стъпки и определено ще ви спести много време при създаването на презентации

  7. Соня -

    Какви са ограничението на VBA при работа с PowerPoint? Има ли функции, които не мога да използвам?

  8. Радостина 123 -

    Тази информация е живото решение на проблема ми! Работя с PowerPoint всеки ден и просто не знаех как да автоматизирам процеса до сега. Благодаря ви

  9. Симеон -

    Много съм впечатлен от начина, по който е написана статията. Лесно е да се разбере и следва. Сега мога да добавям слайдове с VBA

  10. Тихомир -

    Много полезно! Бих предложил да добавите и примери с код за по-добро разбиране. Винаги е интересно да се види как работи

Оставете коментар

Шаблон за проста матрица за делегиране на задачи за Word: Практическа версия за мениджъри на малки екипи

Шаблон за проста матрица за делегиране на задачи за Word: Практическа версия за мениджъри на малки екипи

Използвайте този прост шаблон за матрица за делегиране на задачи в Word, за да зададете собственици, ограничения за решения, крайни срокове и контролни точки, без да усложнявате прекалено малкия екип.

Шаблон за прост лист за посещаемост на детски градини: Вход и отход за печат за домашни грижи за деца

Шаблон за прост лист за посещаемост на детски градини: Вход и отход за печат за домашни грижи за деца

Използвайте този лесен за печат лист за посещаемост на детски градини за домашни грижи, с имена на децата, часове на пристигане/заминаване, подписи и съвети за съответствие.

Шаблон за маркетингова стратегия на една страница за печат за местни фирми

Шаблон за маркетингова стратегия на една страница за печат за местни фирми

Използвайте този шаблон за маркетингова стратегия от една страница, който може да се отпечата, за да дефинирате вашата местна аудитория, оферта, канали, бюджет, седмични действия и измерими цели.

Как да спрете Excel да променя автоматично числата в дати

Как да спрете Excel да променя автоматично числата в дати

Спрете Excel да конвертира стойности като 1/2, 11-53 или JAN1 в дати. Научете надеждни решения за въвеждане, поставяне, импортиране на CSV файлове и вече конвертирани клетки.

Шаблон за презентация на PowerPoint за модерна обява за недвижими имоти (безплатен): Какво да включите

Шаблон за презентация на PowerPoint за модерна обява за недвижими имоти (безплатен): Какво да включите

Създайте изискан PowerPoint за обява за недвижими имоти безплатно с практичен план на слайдовете, снимка, брандиране, достъпност, съответствие и съвети за експорт.

Как да поправите грешката „Outlook не може да изпраща имейли, но може да получава“

Как да поправите грешката „Outlook не може да изпраща имейли, но може да получава“

Поправете Outlook, когато получавате имейли, но не можете да изпращате. Проверете Изпращача, офлайн режима, влизането, SMTP настройките, профили и промените в Microsoft 365.

Опростен шаблон на Excel за двуседмично проследяване на заплатите за малки екипи: Практическо ръководство за настройка

Опростен шаблон на Excel за двуседмично проследяване на заплатите за малки екипи: Практическо ръководство за настройка

Създайте прост двуседмичен трекер на заплатите в Excel за малък екип, включващ работно време, възнаграждения, удръжки, маркери за преглед, обобщения и насоки за водене на записи.

Printable Event Planning Checklist & Budget Template for Word: What to Include and When to Use Excel Instead

Printable Event Planning Checklist & Budget Template for Word: What to Include and When to Use Excel Instead

Build or customize a printable event planning checklist and budget template in Microsoft Word, with practical sections, tradeoffs, and tips for Word vs. Excel.

Проста презентация за обучение при въвеждане в длъжност за нови служители: Практически шаблон от 12 слайда

Проста презентация за обучение при въвеждане в длъжност за нови служители: Практически шаблон от 12 слайда

Създайте проста презентация за въвеждане в длъжност с практична структура от 12 слайда, обхващаща очакванията за ролята, инструменти, сигурност, политики, безопасност и действия за първата седмица.

Как да експортирате контакти от Salesforce в чист Excel формат, без да разваляте ID-тата или телефонните номера

Как да експортирате контакти от Salesforce в чист Excel формат, без да разваляте ID-тата или телефонните номера

Експортирайте контакти от Salesforce в Excel чисто: създайте правилния отчет, експортирайте само детайли в CSV, импортирайте с Power Query, запазете ID-тата и водещите нули, премахнете дублираните записи безопасно и проверете резултата.