Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

powerpoint

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

like image 224
Justin Avatar asked Sep 02 '25 04:09

Justin


2 Answers

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...
like image 76
Jon Fournier Avatar answered Sep 05 '25 00:09

Jon Fournier


This is an old question, but since you can't record macros in PowerPoint, people will be searching for questions like this until you can.

I didn't need this for adding text to slides, but I tried it for adding text to Notes. However, in Outline View, nothing appeared in my Notes section. It wasn't until I went to View-->Notes Page, and I saw the message I'd added -- at the top of the screen.

You see, when you change Set oTextBox = oDestSlide.Shapes to Set oTextBox = oDestSlide.NotesPage.Shapes, you're not adding text to the Notes. You're adding a textbox to the notes. And that textbox appears only in Notes Page view (at the top of the screen, until you move it).

What we really want to do is add our text to Placeholder 2 (the notes area) on the notes page, like this:

 oDestSlide.NotesPage.Shapes.Placeholders(2).TextFrame.TextRange.InsertAfter "Notes text here" 
like image 27
Shawn V. Wilson Avatar answered Sep 05 '25 00:09

Shawn V. Wilson