Skoro svakodnevno slušamo
|
|
Iz teksta u dokumentNivo:
NIVO 2 - Među ovim prilozima se nalaze preporuke koje se uglavnom odnose na bolje
snalaženje i efikasniji rad: dodatni trikovi koji će biti svakom od pomoći i koji upućuju na prag napredne upotrebe programa.
Makroi u Wordu treba da rade teške poslove, a ne vi. Evo praktičnog primera koji će vam sigurno zatrebati.
Verovatno ste bar jednom bili u potrebi da tekst uvezen iz obične ASCII
datoteke u Word prelamate, strpljivo formirajući pasuse. To je zamoran
posao, pa zašto ga sledeći put ne biste prepustili programu! U prilogu se
nalaze makroi u WordBASICu i u VBA, koje možete upotrebiti za taj posao.
Makro je u stanju da ukloni blankove s početka reda, a pasuse prepoznaje ako su razdvojeni
praznim redom. Makro koristi standardne kodove za pretragu elemenata teksta
(^p za kraj reda i ^w za niz blankova).
Ako uvezeni tekst sadrži druge elemente (npr. tabulatore), njih možete
promeniti ubacujući sličan kod pri početku makroa.
Pogledajmo najpre WordBasic makro za Word 6/95.
' WordBasic kod - Word 6/95
'
Sub MAIN
EditReplace .Find = "^p^w", \
.Replace = "^p", .Direction = 0, \
.ReplaceAll, .Format = 0, .Wrap = 1
EditReplace .Find = "^p^p", \
.Replace = "$#$", .Direction = 0, \
.ReplaceAll, .Format = 0, .Wrap = 1
EditReplace .Find = "^p", \
.Replace = " ", .Direction = 0, \
.ReplaceAll, .Format = 0, .Wrap = 1
EditReplace .Find = "$#$", \
.Replace = "^p", .Direction = 0, \
.ReplaceAll, .Format = 0, .Wrap = 1
End Sub
Evo i VBA verzije makroa, namenjene Wordu 97/2000.
' VBA kod - Word 97/2000
' operaciju rade dva makroa koja
' obavezno treba držati u istom modulu
'
Sub Txt2Doc()
Application.ScreenUpdating = False
' poziv četiri koraka izmene stringova
Call t2d("^p^w", "^p")
Call t2d("^p^p", "#$#")
Call t2d("^p", " ")
Call t2d("#$#", "^p")
Application.ScreenUpdating = True
End Sub
' makro t2d je zavisan od makroa Txt2Doc
' i izvodi jedan korak u izmeni stringa
'
Sub t2d(fi As String, re As String)
Selection.Find.Execute FindText:=fi, ReplaceWith:=re, _
Wrap:=wdFindContinue, Replace:=wdReplaceAll, _
Format:=False, Forward:=True
End Sub
Ukoliko ste, pak, u postojeći dokument ubacili neki blok iz TXT datoteke, pa ubačeni sadržaj treba
prelomiti, možete angažovati sledeći par makroa, koji je blaga, ali nužna varijacija prethodnog
makroa. Pre poziva makroa TXTBlok2Doc() označite ubačeni blok.
Sub TXTBlok2Doc()
' selektirani blok prelama u pasuse dokumenta
' podređeni makro je bd()
Application.ScreenUpdating = False
Call bd("^p^w", "^p")
Call bd("^p^p", "#$#")
Call bd("^p", " ")
Call bd("#$#", "^p")
Application.ScreenUpdating = True
End Sub
Sub bd(fi As String, re As String)
' makro bd je zavisan od makroa TXTBlok2Doc
' i izvodi jedan korak u izmeni stringa
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = fi
.Replacement.Text = re
.Forward = True
.Wrap = wdFindStop
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
|