Witam!
Mam pewien problem w z makrem w Wordzie 2003.
O co mi chodzi?
Chciałbym zrobić makro, które będzie przenosiło do nowej linijki “sieroce literki” - pojedyncze znaki typu a, w, i, o, które zostają na końcu linijki i głupio wyglądają, np.:
"Jakaś tam pierwsza część zdania wpisana w linijce. A
to jest dalsza część, która nie mieści się w linijce."
Chodzi o to, żeby to podkreślone A po uruchomieniu makra zostało przeniesione automatycznie do nowej linijki.
Wymyśliłem sobie to tak, że nagram makro, które będzie wyszukiwało w tekście pojedynczych znaków i zastępowało spację z prawej strony “twardą spacją”
Oto fragment kodu:
'
' MAŁE LITERY
'
For i = 97 To 122
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " " + Chr(i) + " "
.Replacement.Text = " " + Chr(i) + "^s"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Next i
I tutaj pojawia się problem. Gdy w danym zdaniu obok siebie znajdują sie dwie takie literki (np.: “początek zdania…, a w …dalsza część zdania”) to skrypt dodaje mi twardą spację tylko po tej drugiej literce.
Ktoś wie jak to rozwiązać?
z góry dzięki za odpowiedzi
pozdrawiam