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

Последнее обновление: июнь 2020 г.

Применимо к: Office 2019 и более ранним версиям. Только Windows.

Вот вопрос от читателя:

В рамках презентации ежеквартального отчета руководству мне часто приходится копировать несколько слайдов с общей информацией из других презентаций. Ничего страшного, но было бы здорово сэкономить, если бы можно было автоматизировать это упражнение. Любая помощь VBA Macro для достижения этой цели приветствуется!

Как вы только что упомянули, вы можете автоматизировать копирование и вставку слайдов в 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. Читатели, которым нужны конкретные вопросы, могут отправить запрос через страницу контактов.

Надеюсь, это поможет 🙂

Сохранять форматирование при копировании слайдов

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

Пример 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, но вместо этого вы можете установить свойство дизайна слайдов.


6 простых и быстрых решений для исправления ошибки PS4 CE-32895-7

6 простых и быстрых решений для исправления ошибки PS4 CE-32895-7

Получение ошибки CE-32895-7 при попытке войти в систему или подключиться к PS4, затем следуйте приведенным решениям и легко устраните ошибку PS4 CE-32895-7.

7 быстрых исправлений ошибки ReCaptcha для владельца сайта: неверный тип ключа

7 быстрых исправлений ошибки ReCaptcha для владельца сайта: неверный тип ключа

Увидев Google ReCaptcha «Ошибка для владельца сайта: неверный тип ключа», попробуйте исправить, например, перейти на ключ ReCaptcha V2, обновить браузер и т. д.

Распространенные проблемы Pixel 6 и Pixel 6 Pro и способы их решения

Распространенные проблемы Pixel 6 и Pixel 6 Pro и способы их решения

Мы составили список наиболее распространенных проблем с Pixel 6 и Pixel 6 Pro, а также некоторые применимые решения. Узнайте больше здесь и дайте нам свои 2 цента.

Как решить проблему «Sims 4 Сим не спит»? [ПРОВЕРЕННЫЕ СПОСОБЫ]

Как решить проблему «Sims 4 Сим не спит»? [ПРОВЕРЕННЫЕ СПОСОБЫ]

Обеспокоены уровнем энергии симов, поскольку симы не остаются в постели и не засыпают? Прочитайте о решениях проблемы Sims 4: сим не спит.

Двухэтапная аутентификация Google не работает? Проверьте эти решения

Двухэтапная аутентификация Google не работает? Проверьте эти решения

Если двухэтапная проверка Google не работает, проверьте свой номер, попробуйте другой метод, и обязательно проверьте наличие подсказок Google.

Полное руководство по запуску Scandisk в Windows 10 и 8

Полное руководство по запуску Scandisk в Windows 10 и 8

Узнайте, как запустить ScanDisk в системе Windows 10 и 8. Прочтите полное руководство и следуйте шагам, приведенным один за другим, чтобы сделать ваш жесткий диск безошибочным.

Исправить Dungeon Siege 2 без указателя мыши [ПРОВЕРЕННЫЕ СПОСОБЫ]

Исправить Dungeon Siege 2 без указателя мыши [ПРОВЕРЕННЫЕ СПОСОБЫ]

При работе с Dungeon Siege 2 нет проблем с указателем мыши, затем попробуйте изменить разрешение, обновить драйверы, изменить параметры запуска и другие…

Windows OEM и Windows Retail: различия, которые нужно знать

Windows OEM и Windows Retail: различия, которые нужно знать

Пытаясь купить лицензионный ключ Windows, узнайте разницу между Windows OEM и Windows Retail и выберите лучший ключ продукта для своего ПК.

Ваш компьютер или сеть могут отправлять автоматические запросы [ИСПРАВЛЕНО]

Ваш компьютер или сеть могут отправлять автоматические запросы [ИСПРАВЛЕНО]

Узнайте, как устранить ошибку "Ваш компьютер может отправлять автоматические запросы" и безопасно продолжить работу с Google. Инструкции по исправлению.

8 простых способов исправить ошибку «У вас есть эта игра или приложение?» Ошибка 0x803f8001?

8 простых способов исправить ошибку «У вас есть эта игра или приложение?» Ошибка 0x803f8001?

Чтобы исправить ошибку «У вас есть эта игра или приложение?» код ошибки 0x803f8001 на Xbox, выполните несколько простых действий, чтобы устранить проблему и насладиться игрой.