Ich führe eine Stilsuche in Microsoft Word mit einem VBA-Makro. Mein Ziel ist es, bestimmte Aktionen für jeden Stil im Dokument einmal durchzuführen.Microsoft Word VBA-Makro - Ein Absatz Suchen-Ersetzen-Stile
Das Makro funktioniert ordnungsgemäß in Dokumenten mit mindestens zwei Absätzen, aber das Makro weist den Stil in einem Dokument, das genau einen Absatz enthält, nicht korrekt auf. Es ist merkwürdig, dass beim Eingeben einer neuen Absatzmarke die Stile gefunden werden, obwohl ich dem Dokument keinen neuen Text oder neue Stile hinzugefügt habe, sondern nur eine zusätzliche, leere Absatzmarke. Weiß jemand was mit meinem Makro falsch ist und wie ich das beheben kann? Danke für einen Blick.
Sub AlertAllStylesInDoc()
Dim Ind As Integer
Dim numberOfDocumentStyles As Integer
Dim styl As String
Dim StyleFound As Boolean
numberOfDocumentStyles = ActiveDocument.styles.count
For Ind = 1 To numberOfDocumentStyles
styl = ActiveDocument.styles(Ind).NameLocal
With ActiveDocument.Content.Find
.ClearFormatting
.text = ""
.Forward = True
.Format = True
.Style = styl
Do
StyleFound = .Execute
If StyleFound = True Then
' actual code does more than alert, but keeping it simple here'
MsgBox styl
GoTo NextStyle
Else
Exit Do
End If
Loop
End With
NextStyle:
Next
End Sub
Danke! Das ist eine große Hilfe. – user773328