Zapis tekstu z prezentacji PP do Worda
by vbatools on Oct.13, 2011, under Porady, Power Point, Word
Jak skopiować tekst tekst z prezentacji?
Jest kilka metod, jednakże aby zachować układ elementów i podkład slajdu to najlepiej będzie wyeksportować go, po przez “Zapisz jako” każdy slajd jako plik graficzny (np PNG), a następnie wklejenie do Word. Jednakże tym sposobem nie jesteśmy w stanie edytować tekstu.
Innym sposobem jest użycie w Wordzie funkcji Menu/Wstawienie/tekst -> Obiekt. Jednakże w ten sposób można tylko przypiąć link do pps lub osadzić prezentacje w dokumencie.
Zwykłe zaznaczenie danych metodą [Ctrl+C] i wklejenie w otwartym dokumencie Word [Ctrl+V] przenosi obiekty prezentacji. Tym sposobem mamy mnóstwo niepotrzebnych śmieci.
Jest jeszcze inny, ciekawy sposób, pozwalający na edycję w Wordzie, jednakże trzeba troszkę sobie przygotować do tego grunt.
Opcja ta nazywa się “Publikuj” exportuje ona dane w ustalonym układzie (rys1.)
Import może ograniczyć wielkość slajdów i w przypadku wielu stron należy je dopasować wielkością (rys2.)
Eksport ten jest dość łatwy, ale jego efektem jest osadzenie w przeźroczyste ramki wszystkich slajdów prezentacji, które należy potem scalić lub usunąć (rys3.)
W tym artykule podam jeszcze jeden sposób, realizujący eksport tekstu kodem VBA.
Wywołanie środowiska VBA wywołuje się skrótem klawiszowym [Alt+F11]. Umieszczenie doku: Menu/Insert/Module
Poniżej przedstawiam kod realizujący opisujące zadanie:
Sub Kopia_Tekstow_PP_do_Worda() 'MVP OShon from VBATools.pl Dim shp As Shape, sl&, i& Dim gshp As GroupShapes Dim wdApp As Object Set wdApp = CreateObject("Word.Application") wdApp.Visible = True wdApp.Documents.Add With wdApp.Selection For sl = 1 To ActivePresentation.Slides.Count .TypeText Text:="------------- Slajd: " & sl & " -----------------" & vbCr For Each shp In ActivePresentation.Slides(sl).Shapes On Error Resume Next .TypeText Text:=Trim(shp.TextFrame.TextRange) & vbCr Set gshp = shp.GroupItems If shp.Type = msoPlaceholder Then If shp.PlaceholderFormat.ContainedType = msoSmartArt Then For i = 1 To gshp.Count If gshp(i).TextFrame.HasText Then _ .TypeText Text:=Trim(gshp(i).TextFrame.TextRange.Text) & vbCr Next End If End If Next shp Next sl End With Set gshp = Nothing Set wdApp = Nothing MsgBox "Export wykonany!", vbInformation, "VBATools.pl" End Sub
Wywołanie kodu po przez [F8] z PP lub [F5] z Developera VBA.
(c) Shon Oskar – www.VBATools.pl
Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.
January 21st, 2012 on 22:56
Można zapisać prezentacje jako pdf:zapisz jako->zapisz plik jako pdf.Natępnie w pdf: save as text.;]
March 6th, 2014 on 19:37
Genialny człowieku 🙂 A ja od 30 min kombinuje:P Dzięki wielkie!!!!