Solved

change font in PPT text box from VBA

Posted on 2010-09-24
3
3,117 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

[Webinar] Code, Load, and Grow

Managing multiple websites, servers, applications, and security on a daily basis? Join us for a webinar on May 25th to learn how to simplify administration and management of virtual hosts for IT admins, create a secure environment, and deploy code more effectively and frequently.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most folk recognise that Microsoft Excel, being a numbers-and-formulae-centric application attracts programmers due to the natural fit in mindset. Conversly, when opening Microsoft's dominant presentation creative application, few consider what…
Technology opened people to different means of presenting information, but PowerPoint remains to be above competition. Know why PPT still works today.
This video teaches viewers how to add simple and professional themes to their slides.
This video teaches viewers how to create handouts from their slides and helps them decide how many slides to include per handout.

752 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