It would not run without error if you removed the on error line.
The following should do what you suggest, though whether it works entirely as you intend will depend on whether the text comprises of manual formatting over an existing style, how much of the paragraph is manually formatted and whether you are applying a paragraph style or a character style. i.e. it obeys the rules relating to the application of styles and manually formatting.
It will work best if the whole paragraph is formatted with Segoe Script and the style is a paragraph style and not a character style OR if not, the style is a character style
The first macro will process just the document body, the second will process all the document ranges i.e. including headers and footers.
Code:
Function FontStyle(oDoc As Document) As Boolean
Dim oRng As Range
On Error GoTo Err_Handler
Set oRng = oDoc.Range
oRng.Find.ClearFormatting
oRng.Find.Replacement.ClearFormatting
With oRng.Find
.Text = ""
.Font.Name = "Segoe Script"
Do While .Execute
oRng.Style = "AsideStyle"
oRng.Collapse 0
Loop
End With
FontStyle = True
lbl_Exit:
Exit Function
Err_Handler:
FontStyle = False
Err.Clear
GoTo lbl_Exit
End Function
Function FontStyle2(oDoc As Document) As Boolean
Dim oRng As Range
On Error GoTo Err_Handler
For Each oRng In oDoc.StoryRanges
oRng.Find.ClearFormatting
oRng.Find.Replacement.ClearFormatting
With oRng.Find
.Text = ""
.Font.Name = "Segoe Script"
Do While .Execute
oRng.Style = "AsideStyle"
oRng.Collapse 0
Loop
End With
If oRng.StoryType <> wdMainTextStory Then
While Not (oRng.NextStoryRange Is Nothing)
Set oRng = oRng.NextStoryRange
oRng.Find.ClearFormatting
oRng.Find.Replacement.ClearFormatting
With oRng.Find
.Text = ""
.Font.Name = "Segoe Script"
Do While .Execute
oRng.Style = "AsideStyle"
oRng.Collapse 0
Loop
End With
Wend
End If
Next oRng
FontStyle2 = True
lbl_Exit:
Exit Function
Err_Handler:
FontStyle2 = False
Err.Clear
GoTo lbl_Exit
End Function