Search code examples
vbapowerpoint

Entering information into the Notes section of a PowerPoint slide using VBA


I am trying to find out how you write VBA to enter a text box into a slide, and enter text. I am also trying to find vba for entering text into the notes section of a PowerPoint slide.

Any help would be greatly appreciated. I have tried to find a site specifically for this, but have not been able to do so


Solution

  • Entering text into a PPT slide is about the same as entering into the notes section.

    You have to start out with a Slide object reference, which represents the slide you're adding to; and you add a text box shape to the slides' shapes collection.

    Example:

    Sub AddTextBoxToSlide()
    
        Dim oDestSlide As PowerPoint.Slide
        Set oDestSlide = ActivePresentation.Slides(1)
    
        Dim slideWidth As Single
        Dim slideHeight As Single
        slideWidth = oDestSlide.Parent.PageSetup.SlideWidth
        slideHeight = oDestSlide.Parent.PageSetup.SlideHeight
    
        Dim oTextBox As PowerPoint.Shape
        Set oTextBox = oDestSlide.Shapes.AddTextbox( _
                        Orientation:=msoTextOrientationHorizontal, _
                        Left:=0, _
                        Top:=0, _
                        Width:=slideWidth, _
                        Height:=slideHeight / 12)
    
        oTextBox.TextFrame.TextRange.Text = "Shape text here"
    
    End Sub
    

    All this does is adds a text box shape to the first slide in the active presentation at the top of the slide. It is as wide as the slide and 1/12th the height of the slide. The parameters for Shapes.AddTextbox() are pretty self-explanatory...

    To add to the notes section, I just use the NotesPage object on the slide your notes page is in...so the above code would be about the same, except:

        Set oTextBox = DestSlide.NotesPage.Shapes.AddTextbox(msoTextOrientat...