Sub StyleDetector() ' Paul Beverley - Version 14.08.19 ' Displays or speaks the current style name useVoice = True ' useVoice = False useMessageBox = False ' useMessageBox = True Set speech = New SpVoice ' Set speech = Nothing selStyle = Selection.range.Style Set rng = Selection.range.Duplicate rng.Expand wdParagraph paraStyle = rng.Style myPrompt = "Paragraph style: " & paraStyle myVoice = paraStyle Set rng = Selection.range.Duplicate If rng.Start <> rng.End Then ' Debug.Print rng.Start, rng.End For i = rng.Start To rng.End - 1 Set rng2 = ActiveDocument.range(i, i + 1) If rng2.Style <> paraStyle Then myPrompt = myPrompt & vbCr & vbCr & _ "Text style: " & rng2.Style myVoice = myVoice & " and also " & rng2.Style If useVoice = False Then Beep Exit For End If Next i Else If paraStyle <> selStyle Then If useVoice = False Then Beep myPrompt = myPrompt & vbCr & vbCr & _ "Text style: " & selStyle myVoice = myVoice & " and also " & selStyle End If End If If Selection.Font.SmallCaps = True Then myVoice = myVoice & " with small caps" End If If useVoice = True Then speech.Speak myVoice, SVSFPurgeBeforeSpeak StatusBar = myVoice Else If useMessageBox Then MsgBox myVoice Else StatusBar = myVoice End If End If End Sub