Jak skopiować dodać slajdy do prezentacji PowerPoint za pomocą makr VBA?

Ostatnia aktualizacja: czerwiec 2020

Dotyczy: Office 2019 i starszych. Tylko Windows.

Oto pytanie czytelnika:

W ramach mojej prezentacji raportu kwartalnego dla kierownictwa, często muszę skopiować kilka slajdów z ogólnymi informacjami z innych prezentacji. Nie jest to wielka sprawa, ale możliwość zautomatyzowania tego ćwiczenia przyniosłaby znaczne oszczędności. Każda pomoc VBA Macro, aby to osiągnąć, jest doceniana!

Jak już wspomniałeś, możesz zautomatyzować kopiowanie i wklejanie slajdów w programie PowerPoint za pomocą Visual Basic for Applications. Jeśli musisz tworzyć kilka prezentacji co miesiąc, ta automatyzacja kopiowania/importowania slajdów może być ogromną oszczędnością czasu!

PowerPoint VBA do dodawania slajdów

Zacznijmy od tego prostego ćwiczenia.

Po pierwsze, upewnij się, że Twoja karta rozwoju jest włączona i widoczna. Oto jak to zrobić .

Zakładam, że utworzyłeś już prezentację z obsługą makr (typ pliku to .pptm), którą umieściłeś w tym samym katalogu co prezentacja źródłowa (którą będę nazywał source.pptm). Oto jak utworzyć prezentację PowerPoint za pomocą VBA .

Po pierwsze, zróbmy kopię zapasową tej prezentacji (proste skopiuj i zapisz).

Następnie przejdźmy dalej i wstaw następujące makro do nowego modułu VBA w prezentacji docelowej. Wszystkie szczegóły dotyczące tego, jak to zrobić, można znaleźć w naszym samouczku PowerPoint VBA .

Oto kod VBA, którego będziesz potrzebować, aby automatycznie skopiować i wkleić slajdy.

Kilka założeń, które poczyniłem:

  • Twoja prezentacja źródłowa nosi nazwę source.pptm
  •  Wkleisz slajdy 2-4 z prezentacji źródłowej
  • Skopiowane slajdy umieścisz na początku slajdu 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

Oczywiście możesz zmienić indeksowanie numeru slajdu w kodzie, aby pasował do Twoich wymagań.

Możesz przejść przez kilka prezentacji i wstawić określone slajdy z każdej z nich do raportu zarządzania.

PowerPoint VBA do powielania slajdów

Zamiast kopiować slajdy do innej prezentacji, możesz sklonować jeden lub więcej slajdów w prezentacji:

Sub CopySlides()

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

ActivePresentation.Slides(3).Duplicate

End Sub

To tylko kilka prostych przykładów automatyzacji PowerPoint. Czytelnicy poszukujący konkretnych pytań zachęcamy do przesłania zapytania poprzez stronę Kontakt.

Mam nadzieję, że to pomoże 🙂

Zachowaj formatowanie podczas kopiowania slajdów

Problem z poprzednim przykładem polegał na tym, że oryginalne formatowanie motywu prezentacji nie zostało skopiowane. Załóżmy, że 2 arkusze miały różne formatowanie, co by się stało:

Przykład 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

Przed uruchomieniem kodu
Oto prezentacja ze slajdem, którą chcemy skopiować: Wynik: Aby rozwiązać ten problem, możesz użyć poniższego kodu:
Slajdy do skopiowania

Wynik

 

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

Oprócz kopiowania slajdu powyższy kod kopiuje projekt. Jeśli chcesz to zrobić ręcznie, skopiuj szablon slajdów do nowej prezentacji. Nie możesz skopiować wzorca slajdów za pomocą VBA, ale zamiast tego możesz ustawić właściwość projektu slajdów.


Imbir 2.7.53.0

Imbir 2.7.53.0

Ginger to darmowy moduł do sprawdzania pisowni i gramatyki.

Bloki

Bloki

Blocks to intelektualna gra przeznaczona dla uczniów klas trzecich szkół podstawowych, służąca ćwiczeniu umiejętności wykrywania i wzroku. Nauczyciele objęli ją programem wspierania nauczania informatyki.

Prezi 6.26

Prezi 6.26

Prezi to darmowa aplikacja, która umożliwia tworzenie cyfrowych prezentacji, zarówno online, jak i offline.

Mathway

Mathway

Mathway to bardzo przydatna aplikacja, która pomoże Ci rozwiązać wszystkie problemy matematyczne, które wymagają bardziej złożonego narzędzia niż kalkulator wbudowany w Twoje urządzenie.

Prezenter Adobe

Prezenter Adobe

Adobe Presenter to oprogramowanie do e-learningu wydane przez firmę Adobe Systems, dostępne na platformie Microsoft Windows jako wtyczka Microsoft PowerPoint.

Tukan 2.3.0

Tukan 2.3.0

Toucan to edukacyjna platforma technologiczna. Pozwala nauczyć się nowego języka podczas przeglądania popularnych, codziennych stron internetowych.

ENetViet 24.2

ENetViet 24.2

eNetViet to aplikacja, która pomaga rodzicom połączyć się ze szkołą, w której uczą się ich dzieci, aby mogli lepiej zrozumieć aktualną sytuację edukacyjną swojego dziecka.

Duolingo

Duolingo

Duolingo - Ucz się języków za darmo, czyli po prostu Duolingo, to program edukacyjny, który pozwala uczyć się i ćwiczyć wiele różnych języków.

Szybkie pisanie

Szybkie pisanie

RapidTyping to wygodne i łatwe w użyciu narzędzie do nauki obsługi klawiatury, które pomoże Ci poprawić szybkość pisania i zmniejszyć liczbę błędów ortograficznych. Dzięki lekcjom zorganizowanym na wielu różnych poziomach RapidTyping nauczy Cię, jak pisać na klawiaturze lub doskonalić istniejące umiejętności.

Typ matematyczny 7.4.10.53

Typ matematyczny 7.4.10.53

MathType to interaktywne oprogramowanie do równań opracowane przez projektanta Design Science (Dessci), które umożliwia tworzenie i dodawanie adnotacji do notacji matematycznej na potrzeby przetwarzania tekstu, prezentacji, e-learningu itp. Ten edytor jest również używany do tworzenia dokumentów TeX, LaTeX i MathML.