Dodavanje zadatog karaktera na pocetku svakog reda

Dodavanje zadatog karaktera na pocetku svakog reda

offline
  • m4rk0  Male
  • Administrator
  • Administrator tech foruma
  • Marko Vasić
  • Gladijator - Maximus Decimus Meridius
  • Pridružio: 14 Jan 2005
  • Poruke: 15766
  • Gde živiš: Majur (Colosseum)

Da ne pretrpavam naslov nije samo dodavanje na pocetku reda, vec ima jos nesto, a da bih objasnio sta zelim najbolje je da dam plastican primer.

Imam tekstualni fajl u sledecoj formi (parafraziram):

windows 10 - najnoviji microsoftov operativni sistem
kameni ugalj - ima izuzetno kaloricnu vrednost
masina za mlevenje mesa - potreba svake domacice


I tako 100 i kusur redova...

Ono sto ja zelim da dobijem je

[b]windows 10[/b] - najnoviji microsoftov operativni sistem
[b]kameni ugalj[/b] - ima izuzetno kaloricnu vrednost
[b]masina za mlevenje mesa[/b] - potreba svake domacice


Znaci treba mi neka skripta (bat, vbs) ili neki macro za word koji ce to automatski da izvrsi - da "wrapuje" tekst (na gore opisan nacin) koji je uvek na pocetku reda/recenice i nakon koga uvek ide crtica.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Fil  Male
  • Legendarni građanin
  • Pridružio: 11 Jun 2009
  • Poruke: 16586

Mislim da je neku aplikaciju Srki94 pravio za potrebe potforuma Igre (isto problem formatiranja).



offline
  • m4rk0  Male
  • Administrator
  • Administrator tech foruma
  • Marko Vasić
  • Gladijator - Maximus Decimus Meridius
  • Pridružio: 14 Jan 2005
  • Poruke: 15766
  • Gde živiš: Majur (Colosseum)

Nasao sam resenje, nije bas elegantno ali radi Smile

1. U command promptu sam kucao sledecu komandu:

(for /f "delims=" %L in (staralista.txt) do @echo [b] %L)> novalista.txt

gde je staralista.txt naziv tekstualnog fajla koji obradjujem a novalista.txt gotov izlazni fajl u kome je na pocetku svake recenice dodat karakter
[b]

2. Tekst sam kopirao u word i pomocu ctrl+h izvrsio zamenu na sledeci nacin



Naravno, ako neko ima neki jos brzi naci nek napise slobodno.

offline
  • Pridružio: 14 Feb 2008
  • Poruke: 12421

Fil ::Mislim da je neku aplikaciju Srki94 pravio za potrebe potforuma Igre (isto problem formatiranja).

Jok, to su samo šeme bile za uputstva i opise.

Ja sam u ovoj situaciji kombinovao Notepad ++, tastere gaming miša, makroe i find & replace Very Happy

Ali opet, Markov način je brži od toga jer sam ja morao da selektujem reč i stisnem dugme da bih dodao tagove.

Ziveli

offline
  • dr_Bora  Male
  • Anti Malware Fighter
    Rank 2
  • Pridružio: 24 Jul 2007
  • Poruke: 12280
  • Gde živiš: Höganäs, SE

Drag & drop file-a na donju skriptu...

Umesto - može da koristi bilo koje znakove i moguće je uneti tagove (stringove koje treba koristiti). Default je ovo što je Marko tražio...

Odradiće i neko sitno formatiranje:

adsadsa-dadadas
asda -daadsa
adsa- asda
Arrow
adsadsa - dadadas
asda - daadsa
adsa - asda


Set objFSO = CreateObject("Scripting.FileSystemObject")
 
 
If WScript.Arguments.length = 0 Then
  MsgBox "Drag and drop a file"
  WScript.Quit
End If

sFileToFix = WScript.Arguments(0)

If Not objFSO.FileExists(sFileToFix) Then
  MsgBox "This is not a file!"
  WScript.Quit
End If
 
Set oOldFile = objfso.OpenTextFile(sFileToFix, 1)
Set oNewFile = objfso.OpenTextFile(sFileToFix & " - new.txt", 2, True)

sSeparator = InputBox("Text separator:", "", "-")

sTag = InputBox("Tag to use on the left side:", "", "[b]")

sTag2 = InputBox("Tag to use on the right side:", "", "[/b]")


If Not oOldFile.AtEndOfStream Then
 
  While Not oOldFile.AtEndOfStream
 
    sLine = oOldFile.ReadLine
    sNewLine = sLine
    nScriptStartPos = InStr(1, sLine, sSeparator, vbTextCompare)
    If nScriptStartPos > 0 Then
      sNewLine = sTag & Trim(Left(sLine, nScriptStartPos - 1)) & sTag2 & " " & sSeparator & " " & Trim(Right(sLine, Len(sLine) - nScriptStartPos - Len(sSeparator) + 1))
    End If

    If oOldFile.AtEndOfStream Then
      oNewFile.Write(sNewLine)
    Else
      oNewFile.WriteLine(sNewLine)
    End If
 
  Wend
 
End If
 
oNewFile.Close
oOldFile.Close

 
MsgBox "Done!"

offline
  • m4rk0  Male
  • Administrator
  • Administrator tech foruma
  • Marko Vasić
  • Gladijator - Maximus Decimus Meridius
  • Pridružio: 14 Jan 2005
  • Poruke: 15766
  • Gde živiš: Majur (Colosseum)

@dr_Bora
Bravo care Smile

offline
  • IvanC 
  • Ugledni građanin
  • Pridružio: 30 Jun 2009
  • Poruke: 403

@dr_Bora kao i inače ovakve probleme rješava VBS skriptama bez problema
@m4rk0 inače da sam ja imao taj problem pokušao bih ga riješiti u Excelu, zato postavljam file rješenje koje može poslužiti za druge stvari (idejno)

1. Konvertirao bih tekst u stupce da razdvojim rečenicu u blokove
2. Dodao bih karaktere
3. Sve spojio sa Concatenate funkcijom

u prilogu primjer datoteke.
pozdrav

[Link mogu videti samo ulogovani korisnici]

offline
  • Pridružio: 06 Maj 2007
  • Poruke: 241
  • Gde živiš: Beograd

Ne razumem zasto toliko komplikujete u vba je to mnogo lakse:

Evo na brzinu napravite makro sa record, znak za novi red zamenite sa znak za novi red + [b] i snimite taj kod i kliknite na stop. Dobicete sve nove redove zamenjene sa novi red+[b]. Samo prvi red nije zamenjen, rucno uradite. Pozdrav

evo koda:

Sub Macro1()
'
' Macro1 Macro
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p"
.Replacement.Text = "^p[b]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Ko je trenutno na forumu
 

Ukupno su 3109 korisnika na forumu :: 118 registrovanih, 11 sakrivenih i 2980 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 5623 - dana 13 Dec 2025 19:56

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: acatomic, ajo baba, Alexa77, ALFASPORTIVO, annon, babaroga, bigbear, Bo96, boj.an, bokicacar, BORUTUS, cifra, Cirkon, crnitrn, dano, DeerHunter, dejankm, Denaya, dendrit86, Django777, doktor097, draganl, Dugme1984, Duk011, dule10savic, Electron, ElvisP, Enderus, Fog of War, Gorilo_1991, goxin, havoc995, ikan, istokzapad, jarovitt, Jonbonjovi, Jozo74, kaisarevic1, Kazablankasrb, kibihrchak, Kobrim, Kolimator, koom0001, Kordon, Kubovac, lafa008, laurusri, lord sir giga, Makky, Marko Marković, marko308, mat, Matija, mačković, Mi lao shu, MiGac, milenko crazy north, mishkooo, mkukoleca, momcilob55, Mr. Majevica, Mrav Obrad, Ne doznajem se u oružje, niksa517, Nole, novator, nuke92, oganj123, ozzy, Paklenica, Papadubi, pein, pera bager, Pero, Perudin_92, Pikac-47, ping15, pobeda, proka89, Pururin, RD84, RiV, rovac, sarma, sasics, savaskytec, SDsd, Sir Budimir, skvara, skylab1111, SKYLINE, Smd, Snorks, sonico, Srle993, suton, tamno.nebo, Tandrčak, Tas011, Trpe Grozni, TRZH92, umpah-pah, vaci, vathra, vensla, vespa nikola, VJ, vukajlo71, W123, wolf431, wolverined4, xAlex2, YugoSlav, zajcev1, zmajbre, Zorge, Zukov, |_MeD_|