Flag them as italic or bold or whatever then apply the appropriate character style and remove the flags.
Code:
Sub ScratchMacro()
'A basic Word Macro coded by Gregory K. Maxey
Dim oRng As Range
Dim oPar As Paragraph
Set oRng = ActiveDocument.Range
With oRng.Find
.Font.Bold = True
While .Execute
oRng.Text = "<b>" & oRng.Text & "</b>"
oRng.Collapse wdCollapseEnd
Wend
End With
Set oRng = ActiveDocument.Range
With oRng.Find
.Font.Italic = True
While .Execute
oRng.Text = "<i>" & oRng.Text & "</i>"
oRng.Collapse wdCollapseEnd
Wend
End With
ActiveDocument.Range.Font.Reset
For Each oPar In ActiveDocument.Paragraphs
oPar.Style = "Body Text"
Next
Set oRng = ActiveDocument.Range
With oRng.Find
.Text = "(\<i\>\<b\>)(*)(\</b\>\</i\>)"
.Replacement.Text = "\2"
.Replacement.Style = "Emphasis"
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
Set oRng = ActiveDocument.Range
With oRng.Find
.Text = "(\<i\>)(*)(\</i\>)"
.Replacement.Text = "\2"
.Replacement.Style = "Subtle Emphasis"
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
Set oRng = ActiveDocument.Range
With oRng.Find
.Text = "(\<b\>)(*)(\</b\>)"
.Replacement.Text = "\2"
.Replacement.Style = "Strong"
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
lbl_Exit:
Exit Sub
End Sub