formatowanie tekstu
Mam pytanie czy w Wordzie jest funkcja umoźliwiająca przenoszenie pojedynczych liter (np. z, a itp.) z konca wiersza.
Pozdrawiam.
Pozdrawiam.
Odpowiedzi: 3
Makro nieco zmodyfikowane – ;)
http://forum.centrumxp.pl/viewtopic.php?p=296775#296775
http://forum.centrumxp.pl/viewtopic.php?p=296775#296775
Funkcję przenoszenia pojedynczych liter przez wymuszenie końca linii wykonuje makro poniźej; makro oczywiście uruchamiamy po zakończeniu edycji tekstu; nie znam autora makra;
Sub przeniesienie()
Selection.HomeKey Unit:=wdStory, Extend:=wdMove
Petla = 1
While Petla = 1
linia$ = ActiveDocument.Bookmarks("line").Range.Text
If Len(linia$) > 3 Then
Selection.EndKey Unit:=wdLine, Extend:=wdMove
Spacje = 0
ZnakOK = 0
wstawienie = 0
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
a1$ = ActiveDocument.Bookmarks("sel").Range.Text
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdMove
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
a2$ = ActiveDocument.Bookmarks("Sel").Range.Text
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdMove
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
a3$ = ActiveDocument.Bookmarks("Sel").Range.Text
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
a1_liczba = Asc(a1$)
a2_liczba = Asc(a2$)
a3_liczba = Asc(a3$)
If a1_liczba = 32 And a3_liczba = 32 Then
Spacje = 1
End If
If a2_liczba = 97 Or a2_liczba = 105 Or a2_liczba = 111 Or a2_liczba = 117 Or a2_liczba = 119 Or a2_liczba = 122 Or a2_liczba = 65 Or a2_liczba = 73 Or a2_liczba = 79 Or a2_liczba = 85 Or a2_liczba = 87 Or a2_liczba = 90 Then
ZnakOK = 1
End If
If Spacje = 1 And ZnakOK = 1 Then
Selection.TypeText Text:=Chr$(11)
wstawienie = 1
End If
End If
If wstawienie = 0 Then
Selection.MoveDown Unit:=wdLine, Count:=1
End If
Selection.EndKey Unit:=wdLine, Extend:=wdMove
If Selection.Type = wdSelectionIP And Selection.End = ActiveDocument.Content.End – 1 Then
Petla = 0
End If
Wend
End Sub
Sub przeniesienie()
Selection.HomeKey Unit:=wdStory, Extend:=wdMove
Petla = 1
While Petla = 1
linia$ = ActiveDocument.Bookmarks("line").Range.Text
If Len(linia$) > 3 Then
Selection.EndKey Unit:=wdLine, Extend:=wdMove
Spacje = 0
ZnakOK = 0
wstawienie = 0
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
a1$ = ActiveDocument.Bookmarks("sel").Range.Text
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdMove
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
a2$ = ActiveDocument.Bookmarks("Sel").Range.Text
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdMove
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
a3$ = ActiveDocument.Bookmarks("Sel").Range.Text
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
a1_liczba = Asc(a1$)
a2_liczba = Asc(a2$)
a3_liczba = Asc(a3$)
If a1_liczba = 32 And a3_liczba = 32 Then
Spacje = 1
End If
If a2_liczba = 97 Or a2_liczba = 105 Or a2_liczba = 111 Or a2_liczba = 117 Or a2_liczba = 119 Or a2_liczba = 122 Or a2_liczba = 65 Or a2_liczba = 73 Or a2_liczba = 79 Or a2_liczba = 85 Or a2_liczba = 87 Or a2_liczba = 90 Then
ZnakOK = 1
End If
If Spacje = 1 And ZnakOK = 1 Then
Selection.TypeText Text:=Chr$(11)
wstawienie = 1
End If
End If
If wstawienie = 0 Then
Selection.MoveDown Unit:=wdLine, Count:=1
End If
Selection.EndKey Unit:=wdLine, Extend:=wdMove
If Selection.Type = wdSelectionIP And Selection.End = ActiveDocument.Content.End – 1 Then
Petla = 0
End If
Wend
End Sub
http://www.centrumxp.pl/forum/viewtopic.php?t=15911
Strona 1 / 1