Hallo Benedikt,
wenn ich deinen Code richtig verstehe, suchst du nur nach einenständigen Textfeldern. Es ist dann klar, dass Tabellen nicht erfasst werden (VBA-Hilfe unter HasTable). Textfelder in Gruppierungen werden auch nicht angesprochen. Dazu könntest du innerhalb der oshp-Scheife
If InStr(oshp.Name, "Group") > 0 Then
For i = 1 To oshp.GroupItems.Count
If oshp.GroupItems(i).HasTextFrame Then
Set oTemp = oshp.GroupItems(i).TextFrame.TextRange
For j = 1 To Len(oTemp)
With oTemp.Characters(j).Font
If .Name = "Calibri" And .Bold = False Then .Name = "Colibri light"
End With
Next
End If
Next
End If
verwenden. Wenn die Gruppierung weitere Gruppierungen enthalten kann, würde ich für die Auflösungen von Gruppierungen ein Unterprogramm venwerden.
Ich habe deinen Code möglichst unverändert gelassen, nur etwas gestrafft. Wenn die Textfelder insgesamt fest oder nicht fett formatiert sind und nicht nur einzelne Buchstaben, lässt sich das sicherlich noch einfacher machen, ndem jeweils das gesamte Testfeld angesprochen wird.
Viel Erfolg
Holger
|