VBA Word Range.Word zählt Punkt als Wort?

2 Antworten

Du könntest erst den gewünschten Bereich per VBA markieren

oDoc.Tables(1).Cell(zeile, spalte).Select
Selection.MoveLeft Unit:=wdCharacter, Count:=1
'Vorher muss natürlich ANZAHLZEICHEN ermittelt werden.
Selection.MoveRight Unit:=wdCharacter, Count:=ANZAHLZEICHEN, Extend:=wdExtend

und dann

Selection.Font.Italic = True

verwenden (wenn du aus einer anderen Anwendung auf Word zugreifst, musst du noch die Referenz zur Word-Application voranstellen).

Dann brauchst du nur die Anzahl der Zeichen des gewünschten Textabschnittes und die bekommst du mit len().

puh.... und wie soll ich den Text markieren, wenn ich nicht weiß aus wie vielen Wörter er besteht?

0
@jumbo125

Willst du einfach die gesamte Zelle kursiv machen oder wofür brauchst du den Wortzähler, wenn du den Text nicht kennst? Dann wäre es einfach

oDoc.Tables(1).Cell(zeile, spalte).Range.Font.Italic = True
0

danke

1
@jumbo125

habs nun so geschafft, alle zeichen zu zählen, wie word es auch wirklich tut, inkl. prozent usw. gesamter_string = oDoc.Tables(1).Cell(zeile, spalte).Range.Words.count

1
Zeichen als Wort interpretiert. Bspw. ".", "%", sind alles eigenständige Wörter

Kannst Du diese nicht zählen (lassen) ... und in Abzug bringen (lassen)?