Solved

change font in PPT text box from VBA

Posted on 2010-09-24
3
2,978 Views
Last Modified: 2012-06-21
I'm trying to change the font of an empty text placeholder on a slide from VBA. Sounds simple enough but apparently I haven't got the right object or something...

I've tried a variety of approaches including the ones shown below. Test1 (textrange object) and Test2 (shape object) didn't work. Then I used the macro recorder to record the UI actions that do accomplish what I want. However, replaying this macro does *not* cause the correct result.

What am I missing?

Thanks
Sub test1()

    Dim tr As TextRange

    

    Set tr = ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange

    tr.Font.Size = 18  

End Sub

Sub test2()

    Dim shp As Shape

    

    Set shp = ActivePresentation.Slides(1).Shapes(2)

    shp.Select

    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Font.Size = 18

End Sub

Sub Macro12()

    ActiveWindow.Selection.SlideRange.Shapes("Rectangle 21").Select

    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Font.Size = 18

End Sub

Open in new window

0
Comment
Question by:Scott Helmers
  • 2
3 Comments
 
LVL 6

Accepted Solution

by:
CRJ2000 earned 500 total points
ID: 33757324
Hmm. This is odd. Your Test1 is correct, but PowerPoint doesn't behave very nicely. Try the following:

Sub test1()
    Dim tr As TextRange
   
    Set tr = ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange
    tr.Text = "Test"
    tr.Font.Size = 18
    tr.Text = ""  
End Sub

0
 
LVL 30

Author Comment

by:Scott Helmers
ID: 33757516
Glad to know I'm not completely crazy...

Thanks for the suggestion. It did work! So PPT doesn't like setting fonts on empty textranges from code even though it works in the UI...
0
 
LVL 6

Expert Comment

by:CRJ2000
ID: 33757570
Very, strange, isn't it? Add it to the list of oddities that one needs to track to make VBA do what you think it should do in the Office products. :)
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

People often ask "How do I make this macro run every time I show a new slide or add a new slide etc." This means making PowerPoint respond to that EVENT and, unlike in Excel, it's not that easy! First, I would avoid using the pseudo events left o…
This article shows how to simulate drawing numbers or names from a hat or bag using vba in PowerPoint and prevents duplicate items being selected. It’s not difficult to choose a (semi) random number in vba. The RND function returns a decimal numb…
This video teaches viewers how to add transitions to their Slideshows and how to set up timing for the transitions.
The viewer will learn how to edit text. This includes Font, Spacing, Resizing, Color, and other special text options.

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now