Mein Skript:
Makro:
Alt + F11 Makros öffnen und Makro dort einfügen (man beachte meinen tollen Namen der Formatvorlage):
Sub CountNamesWithSpecificStyleAndInsert()
Dim NamesToFind As Variant
Dim WordCount As Long
Dim Rng As Range
Dim resultText As String
Dim i As Integer
Dim StyleToCheck As String
' Die Formatvorlage, die überprüft werden soll
StyleToCheck = "Kein Leerraum;Take"
' Liste der Namen, die gesucht werden sollen
NamesToFind = Array("Erzähler", "Lena Winter", "Max Fischer", "Kai Eilers", "Iris Klein", "Barbara Voigt", "Unbekannter Anrufer", „Radio-Moderatorin“, „Polizeikommissar Martin Berger“, „Robert Voigt“)
' Schleife, um jeden Namen zu durchsuchen
For i = LBound(NamesToFind) To UBound(NamesToFind)
WordCount = 0
Set Rng = ActiveDocument.Range
With Rng.Find
.Text = NamesToFind(i)
.Forward = True
.Wrap = wdFindStop
.Format = True ' Ermöglicht die Formatüberprüfung
End With
Do While Rng.Find.Execute
' Überprüfen, ob der gefundene Text die richtige Formatvorlage hat
If Rng.Style = StyleToCheck Then
WordCount = WordCount + 1
End If
Loop
' Text für das Ergebnis erstellen
resultText = NamesToFind(i) & " - " & WordCount & " Takes"
' Einen neuen Absatz mit dem Ergebnis am Ende des Dokuments einfügen
ActiveDocument.Content.InsertAfter vbCrLf & resultText
Next i
End Sub
F5 zum Ausführen
Ergebnis (Ausschnitt):
