View Single Post
 
Old 01-20-2024, 09:26 AM
landrob1 landrob1 is offline Mac OS X Office 2016 for Mac
Novice
 
Join Date: Jan 2024
Posts: 9
landrob1 is on a distinguished road
Default

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
Reply With Quote