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

Оставить комментарий

Outlook получает почту, но не отправляет? Как найти и устранить истинную причину

Outlook получает почту, но не отправляет? Как найти и устранить истинную причину

Исправьте Outlook, когда входящая почта работает, а отправка не удается. Изолируйте проблемы с веб-почтой, папкой «Исходящие», SMTP, лимитами аккаунта и профилем без догадок.

Как конвертировать PDF в редактируемый документ Word без потери форматирования

Как конвертировать PDF в редактируемый документ Word без потери форматирования

Конвертируйте PDF в редактируемый Word, сохраняя максимальное количество форматирования. Узнайте о лучшем методе, проверке качества, опциях OCR и случаях, когда стоит сменить подход.

Как запретить Excel автоматически преобразовывать числа в даты

Как запретить Excel автоматически преобразовывать числа в даты

Узнайте, как предотвратить превращение записей вроде 1-2, 3/4, JAN1 и кодов товаров в даты. Используйте текстовый формат, апостроф, настройки автоматического преобразования данных или контролируемый импорт CSV.

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

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

Создайте понятную презентацию для адаптации новых сотрудников с практическим планом слайдов, примерами контента, советами по настройке и чек-листом готовности.

Как исправить ошибку открытия документа Word в режиме «Только для чтения» на Mac

Как исправить ошибку открытия документа Word в режиме «Только для чтения» на Mac

Исправьте ошибку открытия документа Word в режиме «Только для чтения» на Mac, проверив режим Word, разрешения Finder, права доступа, обновления Office и активацию.

Простой шаблон матрицы делегирования задач в Word для руководителей небольших команд

Простой шаблон матрицы делегирования задач в Word для руководителей небольших команд

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

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: сим не спит.