Hey, thanks!
But I think I expressed myself in a misleading way. I was referring to a different code. It should search for all names in a list in the corresponding Word document and then set them in small caps. I hope that's clearer now ...
I would have tried the following, but it doesn't work.
THX!!!
Sub FormatAuthorNamesInSmallCaps()
Dim authorNames As Variant
Dim rng As Range
Dim name As Variant
' Liste der Autorennamen
authorNames = Array("Ackermann", "Angermann", "Andersen", "Atzeni", "Baecker", "Ortmann", "Zamoyski", "Ziegler", "Wurzbach", "Zittel", "Zürcher", "Zytphen-Adeler")
Application.ScreenUpdating = False
Set rng = ActiveDocument.Range
For Each name In authorNames
With rng.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = name
.Replacement.Text = name
.Forward = True
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
If .Found Then
rng.Font.SmallCaps = True
End If
End With
rng.SetRange Start:=ActiveDocument.Range.Start, _
End:=ActiveDocument.Range.End
Next name
Application.ScreenUpdating = True
End Sub
|