If you have PowerPoint file with lots of slides, sometimes it is very difficult to read even if you print multiple slides on single page. Copy pasting from PowerPoint to MS Word is difficult or tedious depending on what tricks are you using. If you came across this article, you already know what I am talking about.
So in order to make it extremely easy and keep most of the formatting as it is, I have created following VBA macro. VBA Macro is a program which you need to run it directly within PowerPoint.
Here are the steps to to convert PowerPoint slides to Word document.
Close all Microsoft Word files that you have open. Keep only blank Microsoft Word file open. This is a very important step. I have tested the macro only with single file open and if you have any other file open, there is a chance that macro will paste content into existing file.
Open only one PowerPoint file which you want to convert.
Go to Developers Tab > Visual Basic in PowerPoint. If you don’t have Developers tab. Search online on how to show Developer tab.
It will open up another window.
Right click on “VBAProject” > Insert > Module.
Paste the following code into the newly opened window.
Public LastTitle As String Sub CopyText() ' for ms word Dim wdApp As Word.Application, wdDoc As Word.Document Set wdApp = GetObject(, "Word.Application") If wdApp Is Nothing Then Set wdApp = New Word.Application Set wdDoc = wdApp.ActiveDocument Dim sld As Slide Dim shp As Shape Set sld = Application.ActiveWindow.View.Slide Dim isTitle As Boolean Dim showTitle As Boolean For Each sld In ActivePresentation.Slides isTitle = False showTitle = True For Each shp In sld.Shapes If shp.HasTextFrame Then If shp.TextFrame.HasText Then If LastTitle = shp.TextFrame.TextRange.Text Then showTitle = False End If shp.TextFrame.TextRange.Copy If Not isTitle Then If showTitle Then wdApp.Selection.Style = wdDoc.Styles("Heading 1") wdApp.Selection.PasteAndFormat wdPasteDefault wdApp.Selection.Move 'wdApp.Selection.Paste 'wdApp.Selection.PasteSpecial DataType:=wdPasteText LastTitle = shp.TextFrame.TextRange.Text End If isTitle = True Else wdApp.Selection.TypeParagraph wdApp.Selection.PasteAndFormat wdPasteDefault wdApp.Selection.Move End If End If Else shp.Copy wdApp.Selection.PasteAndFormat wdPasteDefault 'wdApp.Selection.Paragraphs.Add wdApp.Selection.Move wdDoc.Content.InsertAfter (vbCrLf) End If Next shp Next sld End Sub
Then click on the next line of “Sub CopyText” and click on green arrow button to run VBA macro. You may also use keyboard shortcut F5 to execute/run macro.
Within a minute or less, you will get all your content in MS Word.
After each image, the text/title will be shown on the same line. You may need to move the text/title to the next line using Enter key.
Generally PowerPoint has bulleted points which keeps too much space in Word document. Select all content and go to Paragraph Settings (Home Tab > Paragraph section, small button on bottom right corner). Under “Indent and Spacing” tab > “Spacing” section, tick “Don’t add space between paragraphs of same style” and click “OK” button.
You may need to adjust image sizes
You may want to further reduce number of pages by reducing margin and adding columns.
Leave a Reply