Як скопіювати додані слайди до презентації PowerPoint за допомогою макросів VBA?

Останнє оновлення: червень 2020 року

Застосовується до: Office 2019 і старіших версій. Тільки Windows.

Ось запитання від читача:

У рамках презентації свого квартального звіту керівництву мені часто потрібно скопіювати кілька загальних інформаційних слайдів з інших презентацій. Неважко, але автоматизувати цю вправу можна було б значно заощадити. Будь-який макрос VBA, який допомагає досягти цього, цінується!

Як ви щойно згадували, ви можете автоматизувати копіювання та вставку слайдів у PowerPoint за допомогою Visual Basic для додатків. Якщо вам потрібно створювати кілька презентацій щомісяця, ця автоматизація копіювання/імпорту слайдів може значно заощадити час!

PowerPoint VBA для додавання слайдів

Давайте приступимо до цієї простої вправи.

По-перше, переконайтеся, що ваша вкладка розробка увімкнена та видима. Ось як це зробити .

Я припускаю, що ви вже створили презентацію з підтримкою макросів (тип файлу .pptm), що ви помістили в той самий каталог, що й вихідна презентація (яку я називатиму як source.pptm). Ось як створити презентацію PowerPoint за допомогою VBA .

По-перше, давайте зробимо резервну копію цієї презентації (просте копіювання та збереження).

Тоді давайте продовжимо і вставимо наступний макрос у новий модуль VBA у вашій цільовій презентації. Усі подробиці про те, як це зробити, можна знайти в нашому підручнику PowerPoint VBA .

Ось код VBA, який вам знадобиться, щоб автоматично копіювати та вставляти слайди.

Кілька припущень, які я зробив:

  • Ваша вихідна презентація називається source.pptm
  •  Ви вставите слайди 2–4 із вихідної презентації
  • Ви розмістите скопійовані слайди, починаючи слайд 5.

Sub InsertFromOtherPres()

' This short VBA macro copies slides from one presentation and inserts them into another

ActivePresentation.Slides.InsertFromFile FileName:="source.pptm", Index:=1, SlideStart:=2, 
SlideEnd:=4

End Sub

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

Ви можете зробити так, щоб він проходив через кілька презентацій і вставляв окремі слайди з кожної у свій звіт про управління.

PowerPoint VBA для копіювання слайдів

Замість того, щоб копіювати слайди в іншу презентацію, ви можете клонувати один або кілька слайдів у своїй презентації:

Sub CopySlides()

' Short snippet to duplicate the third slide in a presentation, change the index/es accrodingly

ActivePresentation.Slides(3).Duplicate

End Sub

Це була лише пара простих прикладів автоматизації PowerPoint. Читачі, які шукають конкретні запитання, не соромтеся надсилати запит через сторінку Контакти.

Сподіваюся, це допоможе 🙂

Зберігайте форматування під час копіювання слайдів

Проблема з попереднім прикладом полягала в тому, що оригінальне форматування теми презентації не було скопійовано. Припустімо, що 2 аркуші мали різне форматування, ось що сталося б:

Приклад 1

 

Sub main()

Dim objPresentation As Presentation

Dim i As Integer

'open the target presentation

Set objPresentation = Presentations.Open("C:\2.pptx")

For i = 1 To objPresentation.Slides.Count

    objPresentation.Slides.Item(i).Copy

    Presentations.Item(1).Slides.Paste

Next i

objPresentation.Close

End Sub

Перед запуском коду
Це презентація зі слайдом, який ми хочемо скопіювати: Результат: Щоб подолати цю проблему, ви можете використати наведений нижче код:
Слайди для копіювання

Результат

 

Sub Example2()

Dim objPresentation As Presentation

Dim i As Integer

'open the target presentation

Set objPresentation = Presentations.Open("C:\2.pptx")

For i = 1 To objPresentation.Slides.Count

    objPresentation.Slides.Item(i).Copy

    Presentations.Item(1).Slides.Paste

    Presentations.Item(1).Slides.Item(Presentations.Item(1).Slides.Count).Design = _

        objPresentation.Slides.Item(i).Design

Next i

objPresentation.Close

End Sub

Окрім копіювання слайда, код вище копіює дизайн. Якщо ви хочете зробити це вручну, ви повинні скопіювати слайд-мастер до нової презентації. Ви не можете скопіювати слайд-мастер за допомогою VBA, але замість цього ви можете встановити властивість дизайну слайдів.

Залишити коментар

Як виправити помилку «Outlook не може надсилати електронну пошту, але може отримувати»

Як виправити помилку «Outlook не може надсилати електронну пошту, але може отримувати»

Виправте Outlook, коли ви можете отримувати електронну пошту, але не можете її надсилати. Перевірте папку «Вихідні», офлайн-режим, вхід у систему, налаштування SMTP, профілі та зміни в Microsoft 365.

Простий шаблон Excel для двотижневого обліку заробітної плати для невеликих команд: Практичний посібник з налаштування

Простий шаблон Excel для двотижневого обліку заробітної плати для невеликих команд: Практичний посібник з налаштування

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

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

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

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

Як експортувати контакти Salesforce у чистий формат Excel, не зіпсувавши ID та номери телефонів

Як експортувати контакти Salesforce у чистий формат Excel, не зіпсувавши ID та номери телефонів

Чистий експорт контактів Salesforce в Excel: створіть правильний звіт, експортуйте лише деталі у CSV, імпортуйте через Power Query, збережіть ID та провідні нулі, безпечно видаліть дублікати та перевірте результат.

Шаблон тижневого графіка прибирання для друку для хостів Airbnb (Word та PDF)

Шаблон тижневого графіка прибирання для друку для хостів Airbnb (Word та PDF)

Використовуйте цей друкований тижневий графік прибирання для хостів Airbnb, щоб організувати прибирання між гостями, глибоке очищення, поповнення запасів, перевірки безпеки та друк із Word у PDF.

Безкоштовний шаблон органайзера місячного календаря рахунків для Excel: практичне налаштування на 2026 рік

Безкоштовний шаблон органайзера місячного календаря рахунків для Excel: практичне налаштування на 2026 рік

Організуйте місячні рахунки в Excel за допомогою безкоштовного макета календаря платежів, відстеження термінів оплати, формул статусу, полів автоплатежів та практичних порад щодо грошового потоку.

Формули Excel не обчислюються автоматично? Виправте це за 3 прості кроки

Формули Excel не обчислюються автоматично? Виправте це за 3 прості кроки

Виправте формули Excel, які не обчислюються автоматично, за три кроки: увімкніть автоматичне обчислення, виконайте перерахунок і виправте комірки з формулами.

Шаблон трекера витрат для незалежних підрядників у США: що відстежувати у 2026 році

Шаблон трекера витрат для незалежних підрядників у США: що відстежувати у 2026 році

Створіть практичний трекер витрат для фрілансерів у США з категоріями для Schedule C, полями для чеків, відстеженням пробігу та оновленнями правил IRS на 2026 рік.

Найкращі безкоштовні додатки для виставлення рахунків для малих сервісних компаній у США (2026)

Найкращі безкоштовні додатки для виставлення рахунків для малих сервісних компаній у США (2026)

Порівняйте найкращі безкоштовні додатки для виставлення рахунків для сервісних компаній у США у 2026 році, включаючи Zoho Invoice, Wave, Square, PayPal та Invoice Ninja.

Безкоштовний шаблон Excel для обліку витрат і доходів від орендної нерухомості: Посібник для початківців

Безкоштовний шаблон Excel для обліку витрат і доходів від орендної нерухомості: Посібник для початківців

Використовуйте безкоштовний трекер орендної нерухомості в Excel для організації доходів, витрат, об’єктів нерухомості та щомісячного грошового потоку. Дізнайтеся, що записувати, як налаштувати шаблон і яких помилок уникати.