View Single Post
 
Old 06-24-2016, 12:17 AM
JohnWilson JohnWilson is offline Windows 7 64bit Office 2010 32bit
Programmer
 
Join Date: Nov 2008
Location: UK
Posts: 1,914
JohnWilson has a spectacular aura aboutJohnWilson has a spectacular aura about
Default

This would help but if you have equations they follow different rules and you may get unexpected results

Code:
Sub delblue()
   Dim oSld As Slide
   Dim oShp As Shape
   Dim x As Long
   Dim l As Long
   Dim i As Long
   Dim j As Long
   Dim otr As TextRange
   Dim otrTotal As TextRange

   For Each oSld In ActivePresentation.Slides
      For Each oShp In oSld.Shapes
         If oShp.HasTextFrame Then
            If oShp.TextFrame.HasText Then
               With oShp.TextFrame.TextRange
                  For x = .Runs.Count To 1 Step -1
                     If .Runs(x).Font.Color.RGB = RGB(0, 0, 255) Then
                        Set otr = .Runs(x)
                        For l = 1 To otr.Length
                            If otr.Characters(l).Font.Color.RGB = RGB(0, 0, 255) Then otr.Characters(l) = "_"
                           If otr.Characters(l) = "_" Then otr.Characters(l).Font.Color.RGB = RGB(120, 120, 120)
                        Next l
                        .Runs(x).Font.Subscript = msoFalse
                        .Runs(x).Font.Superscript = msoFalse
                     End If
                  Next x
               End With
            End If      'has text
         End If      'has textframe
         If oShp.HasTable Then
            For i = 1 To oShp.Table.Rows.Count
               For j = 1 To oShp.Table.Columns.Count
                  If oShp.Table.Cell(i, j).Shape.TextFrame.HasText Then
                  Set otrTotal = oShp.Table.Cell(i, j).Shape.TextFrame.TextRange
                     With otrTotal
                        For x = .Runs.Count To 1 Step -1
                           If .Runs(x).Font.Color.RGB = RGB(0, 0, 255) Then
                              Set otr = .Runs(x)
                              For l = 1 To otr.Length
                              If otrTotal.Paragraphs.Count > 1 Then
                              If Asc(otr.Characters(l)) = 13 Then
                              otr.Characters(l) = vbCrLf
                               Else
                                otr.Characters(l) = "_"
                                 If otr.Characters(l) = "_" Then otr.Characters(l).Font.Color.RGB = RGB(120, 120, 120)
                               End If
                               Else
                                If otr.Characters(l).Font.Color.RGB = RGB(0, 0, 255) Then otr.Characters(l) = "_"
                                 If otr.Characters(l) = "_" Then otr.Characters(l).Font.Color.RGB = RGB(120, 120, 120)
                               End If
                              Next l
                              .Runs(x).Font.Subscript = msoFalse
                              .Runs(x).Font.Superscript = msoFalse
                           End If
                        Next x
                     End With
                    End If
                  Next j
               Next i
            End If
         Next oShp
      Next oSld
   End Sub
__________________
Microsoft PowerPoint MVP 2007-2023
Free Advanced PowerPoint Tips and Tutorials
Reply With Quote