Recolor or hide "key" text in a presentation
This macro will locate text of a certain color in your presentation and change it to a different color. For example, you could format your "key" text in a special color then run the macro to hide it by setting it to the same color as the background color of the slide.
Sub RecolorKeyText()
Dim oShp As Shape
Dim oSld As Slide
Dim oRng As TextRange
Dim SearchColor As Long
Dim ReplaceColor As Long
Dim x As Long
SearchColor = RGB(255, 0, 0) ' Look for Red text
ReplaceColor = RGB(0, 0,255) ' Make it pure blue
For Each oSld In ActivePresentation.Slides
For Each oShp In oSld.Shapes
If oShp.HasTextFrame Then
' It may still not have a text frame - or at least not an accessible one. PPT lies sometimes.
' Then it throws errors if you try to touch the text frame it says the object has. So:
On Error Resume Next ' ignore any errors
If oShp.TextFrame.HasText Then
Set oRng = oShp.TextFrame.TextRange
For x = 1 To oRng.Runs.Count
If oRng.Runs(x).Font.Color.RGB = SearchColor Then
oRng.Runs(x).Font.Color.RGB = ReplaceColor
' remove the font shadow, if any
oRng.Runs(x).Font.Shadow = False
End If
Next x
End If
On Error GoTo 0 ' start paying attention to errors again
End If
Next oShp
Next oSld
End Sub
See How do I use VBA code in PowerPoint? to learn how to use this example code.
Search terms: