Visual Basic - makro w Word 2003


(Napciu) #1

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