Stránka 1 z 1
Dotaz:VBScript Formátování textu (přesun na nový řádek) Vyřešeno
Napsal: 01 dub 2009 09:23
od dhous
Mám následující problém - textový soubor ve formátu TXT který obsahuje některé řádky začínající znakem + nebo + a bezprostředně následované textovým řetězcem různé délky a já potřebuju aby ten textový řetězec se dal vždy až na další řádek. Je to testová databáze. Nejlépe asi ve VBS skriptu
Teď mám:
+odpovědA
-OdpovědB
-C
-D
-E
a potřebuju to:
+
odpověďA
-
OdpověďB
-
C
atd. Jde to nějak zautomatizovat?
Re: Dotaz:VBScript Formátování textu (přesun na nový řádek)
Napsal: 01 dub 2009 13:25
od navstevnik
Zde je jednoducha procedura VBA, ktera za znamenko "-" vlozi Enter:
Kód: Vybrat vše
Option Explicit
Sub VlozEnter()
Dim PosE As Long
' nalezeni konce textu a pocet
Selection.EndKey Unit:=wdStory
PosE = Selection.End
' navrat na zacatek textu
Selection.HomeKey Unit:=wdStory
' bude hledano "-"
With Selection.Find
.Text = "-"
End With
' hledat a vkladat Enter dokud je poloha<konec
Do
Selection.Find.Execute
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.TypeParagraph
Loop While Selection.Start < PosE
End Sub
Podle vzoru si proceduru uprav a dopln proceduru i pro vyhledani znamenka "+".
Re: Dotaz:VBScript Formátování textu (přesun na nový řádek)
Napsal: 01 dub 2009 14:53
od dhous
Děkuju moc. Jenom šlo by to udělat aby se mi takhle dělili jen + a - ze začátku řádků. Teď to rozdělí i slova jako Rimskij-Korsakof na Rimskij a na nove radce Korsakof.
Re: Dotaz:VBScript Formátování textu (přesun na nový řádek)
Napsal: 01 dub 2009 17:13
od navstevnik
Zde je upravena procedura:
Kód: Vybrat vše
Option Explicit
Sub VlozEnter1()
Dim PosE As Long
' nalezeni konce textu a pocet
Selection.EndKey Unit:=wdStory
PosE = Selection.End
' navrat na zacatek textu
Selection.HomeKey Unit:=wdStory
With Selection
' bude hledano "-"
.Find.Text = "-"
' hledat a vkladat Enter dokud je poloha<konec
Do While Selection.Start < PosE
.Find.Execute
' je zacatek radku?
If .Information(wdHorizontalPositionRelativeToTextBoundary) = 0 Then
.MoveRight Unit:=wdCharacter, Count:=1
.TypeParagraph
End If
Loop
End With
End Sub
Re: Dotaz:VBScript Formátování textu (přesun na nový řádek)
Napsal: 02 dub 2009 15:17
od dhous
Děkuji, funguje to skvěle