Dotaz:VBScript Formátování textu (přesun na nový řádek)

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Odpovědět
dhous
nováček
Příspěvky: 12
Registrován: 22 úno 2009 09:58

Dotaz:VBScript Formátování textu (přesun na nový řádek)

Příspěvek 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?
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: Dotaz:VBScript Formátování textu (přesun na nový řádek)

Příspěvek 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 "+".
dhous
nováček
Příspěvky: 12
Registrován: 22 úno 2009 09:58

Re: Dotaz:VBScript Formátování textu (přesun na nový řádek)

Příspěvek 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.
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: Dotaz:VBScript Formátování textu (přesun na nový řádek)

Příspěvek 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
dhous
nováček
Příspěvky: 12
Registrován: 22 úno 2009 09:58

Re: Dotaz:VBScript Formátování textu (přesun na nový řádek)

Příspěvek od dhous »

Děkuji, funguje to skvěle
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Chyba příkazový řádek
    od zik9 » » v Windows 11, 10, 8...
    4 Odpovědi
    3403 Zobrazení
    Poslední příspěvek od zik9
  • Přesun whatsapp z iPhone na android
    11 Odpovědi
    13004 Zobrazení
    Poslední příspěvek od DeNNI85
  • Dotaz- bottleneck
    od vasson » » v Rady s výběrem hw a sestavením PC
    2 Odpovědi
    2825 Zobrazení
    Poslední příspěvek od Cleric
  • Nový PC
    11 Odpovědi
    7071 Zobrazení
    Poslední příspěvek od petr22
  • nový PC
    od Fantousek » » v Rady s výběrem hw a sestavením PC
    3 Odpovědi
    2145 Zobrazení
    Poslední příspěvek od Alferi

Zpět na „Kancelářské balíky“