OfficeTips Home || VBA Section || General Section || Download Section || Privacy Policy

How can I access the new text effects?

PowerPoint 2007 introduced the several font formatting options in PPT 2007. However if you try to access them thru the TextFrame object you will meet with little success. If you access the Font object available within the new TextFrame2 object, it actually returns a Font2 class object which has all the new font formatting options. All of these properties are read/write.

 

Sub TextFrame2Listing()
Dim oFont As Font2
Set oFont = ActivePresentation.Slides(1).Shapes(1).TextFrame2.TextRange.Font
With oFont
    Debug.Print "Allcaps: " & .Allcaps
    Debug.Print "Bold: " & .Bold
    Debug.Print "Caps: " & .Caps
    Debug.Print "DoubleStrikeThrough: " & .DoubleStrikeThrough
    Debug.Print "Embeddable: " & .Embeddable
    Debug.Print "Embedded: " & .Embedded
    Debug.Print "Equalize: " & .Equalize
    Debug.Print "Highlight: " & .Highlight
    Debug.Print "Italic: " & .Italic
    Debug.Print "Kerning: " & .Kerning
    Debug.Print "Size: " & .Size
    Debug.Print "Smallcaps: " & .Smallcaps
    Debug.Print "SoftEdgeFormat: " & .SoftEdgeFormat
    Debug.Print "Spacing: " & .Spacing
    Debug.Print "Strike: " & .Strike
    Debug.Print "Strikethrough: " & .Strikethrough
    Debug.Print "Subscript: " & .Subscript
    Debug.Print "Superscript: " & .Superscript
    Debug.Print "UnderlineColor: " & .UnderlineColor
    Debug.Print "UnderlineStyle: " & .UnderlineStyle
    Debug.Print "WordArtFormat: " & .WordArtFormat
    
End With
End Sub 
 

Some of the Font2 class members are objects which have additional properties for formatting. Namely Glow, Shadow and Reflection. Look here to assign a glow to the shape. Lets see how to read the Reflection information.

 

To set this up:

1. Draw a shape on the slide.

2. Type some text in the shape.

3. Select the text and assign a  reflection text effect (I chose 'Tight reflection and touching' from the UI.

4. Select the shape and then run this macro.

 
Sub TextFrame2Reflection()
Dim oFont As Font2
Set oFont = ActivePresentation.Slides(1).Shapes(1).TextFrame2.TextRange.Font
With oFont.Reflection
     Debug.Print .Type
End With
End With
End Sub 

The value returned is 1 or msoReflectionType1. There are 11 enum value for msoReflectionType msoReflectionType1 to msoReflectionType9 (corresponding to 9 available in the PowerPoint UI), msoReflectionTypeNone and msoReflectionTypeMixed. A similar reflection object is available for the shape object.
   


Copyright 1999-2016 (c) Shyam Pillai. All rights reserved.