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().

jumbo125 
Fragesteller
 17.07.2021, 16:02

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

0
holgerholg  17.07.2021, 16:03
@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
jumbo125 
Fragesteller
 17.07.2021, 16:07

danke

1
jumbo125 
Fragesteller
 17.07.2021, 16:09
@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)?