Vsaka beseda v svoji vrstici
Vsaka beseda v svoji vrstici
Vsaka beseda v svoji vrstici
Pozdravljeni,
kot zelenec in prvimi koraki z VBA prosim za naslednjo pomoč:
- wordov dokument (le za predstavo: dve strani, osem odstavkov)
- vsako besedo bi želel ''pretvoriti' tako, da bi bila v svoji vrstici
- med besedami so presledki (blenk)
- zanka od začetka do konca dokumenta
Hvala v naprej
Pozdravljeni,
kot zelenec in prvimi koraki z VBA prosim za naslednjo pomoč:
- wordov dokument (le za predstavo: dve strani, osem odstavkov)
- vsako besedo bi želel ''pretvoriti' tako, da bi bila v svoji vrstici
- med besedami so presledki (blenk)
- zanka od začetka do konca dokumenta
Hvala v naprej
Hm, a je to kakšna seminarska naloga? No, ker je rešitev tako trivialna, ne bom vrtal :
Koda: Izberi vse
Sub VseBesede()
For Each beseda In ActiveDocument.Words
Debug.Print beseda
Next
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Hvala za hitri odgovoradmin napisal/-a: Hm, a je to kakšna seminarska naloga? No, ker je rešitev tako trivialna, ne bom vrtal :Koda: Izberi vse
Sub VseBesede() For Each beseda In ActiveDocument.Words Debug.Print beseda Next End Sub
Ni seminarska, toda ko to kodo kopiram+prilepim kot novi macro (prekrijem neko moje igračkanje), ga zaženem, dokument ''ne trzne'' in nič se ne zgodi
kaj pomeni tista ''beseda'' ? je potrebna kašna definicija?
thx
Hm...
Očitno ste resnično začetnik in v tem primeru ste si zadali malce preteško nalogo. Vseh podrobnosti nimam časa razlagati, a prejšnji makro vam je vse besede zapisal v okono intermediate, ki se nahaja v VBA urejevalniku.
Vi pa očitno želite, da bi se vse besede zapisale v sam dokument, namesto obstoječega teksta. V tem primeru je makro malce daljši, saj morate najprej vse besede prebrati in jih nato zapisati v dokument. Če bi besede sproti pisali v dokument, bi bilo besed vedno več in stvar se nebi nikoli končala . No kakorkoli, makro je spodaj:
Očitno ste resnično začetnik in v tem primeru ste si zadali malce preteško nalogo. Vseh podrobnosti nimam časa razlagati, a prejšnji makro vam je vse besede zapisal v okono intermediate, ki se nahaja v VBA urejevalniku.
Vi pa očitno želite, da bi se vse besede zapisale v sam dokument, namesto obstoječega teksta. V tem primeru je makro malce daljši, saj morate najprej vse besede prebrati in jih nato zapisati v dokument. Če bi besede sproti pisali v dokument, bi bilo besed vedno več in stvar se nebi nikoli končala . No kakorkoli, makro je spodaj:
Koda: Izberi vse
Sub VseBesede()
Dim beseda, VseBesede
For Each beseda In ActiveDocument.Words
VseBesede = VseBesede & "#" & beseda
Next
Dim besede
besede = Split(VseBesede, "#")
Selection.WholeStory
Selection.Delete
For Each beseda In besede
Selection.TypeText Text:=beseda
Selection.TypeParagraph
Next
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Spodaj imate popravljen makro, kjer število besed v vrstici poveste tako, da spremenite številko pri (StBesedVVrstici = 4):
Makro za OO pa je precej drugačen.
Koda: Izberi vse
Sub VseBesede()
Dim beseda, VseBesede
For Each beseda In ActiveDocument.Words
VseBesede = VseBesede & "#" & beseda
Next
Dim besede
besede = Split(VseBesede, "#")
Selection.WholeStory
Selection.Delete
Dim StBesedVVrstici As Integer
StBesedVVrstici = 4
Dim i As Long, j As Long
For i = LBound(besede) To UBound(besede) Step StBesedVVrstici
For j = 0 To StBesedVVrstici - 1
If (i + j <= UBound(besede)) Then Selection.TypeText Text:=besede(i + j)
Next
Selection.TypeParagraph
Next
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator