Dakle, kako se u MS Word 2003 mogu ukloniti svi razmaci između riječi osim jednog razmaka? Odnosno, kako u tekstu napraviti da između svake riječi bude po jedan razmak?
Dakle, kako se u MS Word 2003 mogu ukloniti svi razmaci između riječi osim jednog razmaka? Odnosno, kako u tekstu napraviti da između svake riječi bude po jedan razmak?
-ovisi o načinu kako je napravljen razmak.. jer može biti sama opcija (prored) std 1, 1.5, 2 ili je netko lupao enter pišući kao na pisačoj mašini (poneki čak i lupaju space za porihtavanje..)
-ako utipkan text, može ga se zamiejniti search-replaceom, može se napraviti macro za to. Svejedno dali se mjenja slovo a za b ili razmak, enter..
-btw uključi prikaz skrivenih oznaka-formatiranja 'Pi', bit će ti lakše vidjeti kako je napravljeno pa znati rješenje.
Dakle, pod pretpostavkom da je riječ o 2 x space. Nije riječ o enteru, nego space (razmaknici). Dva puta razmaknica između riječi.
Znači ti klikneš jednom i onda ode 1 ,a izgleda kao da si 2 puta kliknuo?
vrlo jednostavno: sa find i replace all
-uključi 'skriveni text' Pi. Tako vidiš što je, jer može biti i takav format. Formatiranje, stilovi itd. se drugačije podešavaju, tj dovoljno je recimo promjeniti u 'normal'.
Ako je dva puta razmaknica (space) tad je dovoljno napraviti replace ''--'' s ''-''. (dva spacera s jednim), ali pošto je spec znak, možda moraš kroz makro. Probaj.
Za makro, pokreni rekorder, napravi replace npr A za B, editiraj makro i zamjeni string-karakter, space je (nagađam) CHR$(32) i (160) ili ga napišeš u navodnicima " " i replace s " ".
Za probu bi blio zgodno natipkati u wordu nešto kao ''AAaaaaaAAAAAAAAaa aaaAAAAAAA aaAAA AA aa AAA ..'' i mijenjati s B pa odmah vidiš rezultat.
Nije format, riječ je o razmaku sa space. Ti misliš na crtl+H, ali kako se u 2003 office kreira makro i još važnije, kako se na hrvatskom makro kaže?
macro (makro) .. nema na hrv. nit je potrebno...
evo coda:
-edit, malo uređenjiji kod..
Sub ReplaceSpace_X2_X1()
'
' ReplaceSpace_X2_X1 Macro
' Macro recorded 26.02.2012 by Hush
'
Selection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " "
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Kaj fali ovom onda?
Sub Razmak()
'
' Razmak Macro
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " "
.Replacement.Text = " "
.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
-to je OK kod, radi. Ako ima više od jednog razmaka, samo ponoviti makro.
-možda ti je makro diseblan (zaštita), potraži u opcijama i omogući.
Ovo je vrlo interesantno. Koji bi znak bio kao joker? Znači da predstavlja bilo koji znak? Primjerice, rečenica završava točkom: "Marko je otišao u školu. Imao je dobar dan." Kako bi glasio makro za slučaj u kojem se sljedeća rečenica odmah nastavlja na točku, bez razmaka? npr:"Marko je otišao u školu.Imao je dobar dan."
Mijenjam točku i X za točku i razmak. Samo što je to X što bi predstavljalo bilo koji character koji bi se direktno naslanjao na točku?
Hvala.
Kako sam glup. Pa treba samo zamijeniti "točka" sa "točka i razmak"..
Kako sam glup. Pa treba samo zamijeniti "točka" sa "točka i razmak"..
- upravo to je dokaz da nisi glup. :)
- jocker se u ovom kontekstu ne može koristiti. jer, što bi bio jocker (standardno wildcarts: *, ?). tj.kako bi se A i B mogli mijenjati 'bilo čime', ili bilo što mijenjati nečime?
Jedino što možeš, je napravit funkciju, koja će uzeti argument A (string koji tražiš, mijenjaš) i argument B kojim mijenjaš ako su kriteirji ispunjeni. Jednako se ponaša sam word pa je to nepotrebno, ali programski bi tako prosljeđivao parametar, dok bi funkcija tad interno imala varijablu, za razliku od ove koja imi fixni txt 'space'.
A kako bi recimo u riječi "otorinolaringolog" izolirao rino, ali na način kada ideš na ctrl+h da promijeniš "rino" u "riža", ali samo ako "rino" stoji kao zasebna riječ, a ne unutar neke druge, npr. "otorinolaringolog"?
Malo mi je teško za objasniti, ali mislim da ćeš skužiti.
Možda može pomoći ova stranica sa specijalnim znakovima u Wordu za Find/Replace
-za uspoređivanje se može koristiti 'cijela riječ' kao jedan od kriterija, vidi u običnom search/replace meniju... jednako kao opcija match case. (pročitaj pažljivo macro, red ' MatchWholeWord = False je upravo to.)
programski je moguće izvući neki string tj prevjeriti dali je ispred-iza prazno (space) što također može biti u searchu. Tako je dovoljno u kriterij upisati ' rino ' umjesto 'rino' za konkretan primjer. Jednako kao što je bila zamjena dva spacea jednim.
-ali to nije neka funkcija koja bi se trebala koristitit u wordu, bar ne nešto što treba programirati. Običan search ili replace je OK za normalnu upotrebu. (osim ako je ovo primjer za učenje).
Provjeri koje sve naredbe podržava VBA, u macrou je to najjednostavnije za vidjeti i testirati. Sigurno se može se ubaciti neki if-then... samo treba vidjeti kako se može pojedina riječ izvuči (ne select jer se odnosi na dio texta koji se searcha, ovo je za konkretnu riječ koja se uspoređuje).
-ako se ne varam, autocomplete, sintax check i F1 na ključnoj riječi postoje u svim verzijama. Iskoristi ih za otkrivanje takvih specifičnih potreba, jer se malo tko konkretno sretao s tim potrebama. Jednostavno sjedneš i kuckaš kod, rješenje se mora pojaviti za pola sata. Ako si početnik u programiranju, tad je ovo pogrešan put za učenje, tj trebaš učiti konkretan jezik, samo ponekad iskoristiti VBA i sl., dok samo učenje programiranja u officeu nema nekog dubljeg (Montyjevskog) smisla. To se radi usput, kao quick fix.
Tražio sam kako bih mogao zamijeniti recimo razmak sa tabom, ali na način da postavim range od 4-50 razmaka sa jednim ^t?
Pokušao sam sa ovim, ali nikako mi ne uspijeva..
Uglavnom, poanta je da bih htio više od 4 razmaka zamijeniti sa ^t (tabom). Znači ne mogu ići na ^w jer će mi onda svaku prazninu zamijeniti sa tabom.
Kao neki range od 4 do beskonačno razmaka = TAB
- prvo nauči osnove programiranja, (svejedno koji jezik, VB i VBA su 90% identični), recimo stringove chr$(8) itd..
- u onom makrou, svaki znak koji ne možeš napisati tipkovnicom možeš programski riješiti. Novi red - enter je chr$(13), LF=10, ESC =7 itd..
- dali se to može u wordu i VBA? Možda.
Ne mogu naći u makrou znak za space (razmak).
Htio sam postaviti range za razmak, od 4 do beskonačno, ali jednostavno ne funkcionira..Onda bih jednostavno taj range zamijenio sa ^t i gotovo.
Iz nekog razloga ne funkcionira..
Ne mogu naći u makrou znak za space (razmak).
Htio sam postaviti range za razmak, od 4 do beskonačno, ali jednostavno ne funkcionira..Onda bih jednostavno taj range zamijenio sa ^t i gotovo.
Iz nekog razloga ne funkcionira..
-pogrešno, jer da radi, tad bi zamijenio ostatak teksta nakon kriterija 4x Space ''----*'' (umjesto povlake je razmak, na kraju zvjezdica). Prije nego neki kod natipkaš ipak moraš ga prevesti u glavi, pitati se kako će to komipler razumjeti. Preciznije, možeš zamijenit 4xSpace s TABom (mislim CHR$(8)) ali ne možeš 4xSp* jer bi to zamjenilo sav preostali tekst. Morao bi testirati dali je svaki karkakter =" " space.. To word macro možda može, ali sumnjam.
-nije mi jasno što konkretno radiš, popravljaš pogrešno natipkan tekst (umjesto npr TAB Space)? Može se i tako, ali postoji problem formatiranja, fonta, dimenzija papira s marginama... pošto word automatski povuče postavke od defaultnog printera već su tu razlike u novom dokumentu, dok veličina i sam tip fonta također određuje fizičke dimenzije pa tako ni tekst nećebiti jednak (poravnat). Za DOSovsko rješenje postoji courier i std. 80 slova u redu, 60-62 redova. Dok u samom dokumentu worda mada je TAB debaultno na 8x, može se postaviti (vidi tabulator one crtice-ravnalo) na bilo koju poziciju koja je tad TAB-STOP pozicija.
Ovo mi izgleda kao da neku word datokeku pokušavaš prilagoditi npr radu s bazom ili formular. Sumnjiv mi je uspjeh... Radije napravi novi dokument, jer automatikom je teško (zamisliti) napraviti ... ili mi samo nije jasna ideja-cilj.
Ručno editiranje nekog teksta bi obavio za max pola sata, programiranje ima smisla samo ako se (identičan) posao ponavlja. Npr, dvostruki klik i selektiraš čitavu riječ koja ti je interesnatna (pa i razmak) i overtajpaš ili pasteaš pripremljen string (zamjenu). Za stanicu teksta to ne može trajati duže od minute.
Ako se stvarno veće količine teksta svakodnevno moraju tako obraditi, tad to nebi trebalo bit u wordu, nego u običnom plain-txt, formatu (sam sadržaj), koji možeš normalno obrađivati nekim programskim jezikom kao VB, C.. i sve moguće operacije If-Then.. Možda (skoro sigurno) je dovoljan Notepad++.
Thx, ma ne znam se dobro izraziti, u tome je problem. Znam što hoću, ali ne znam kako to napisati.
Tab uglavnom koristim kao uvlaku, a ako je tab uvijek 1,5 (npr.) onda običan space ne može biti toliko precizan pa je bolje onda sve uvlake napravljene sa spaceom zamijeniti sa tabom koji je uvijek 1,5. Rekao sam brojku od 4 razmaka onako, to može biti i 10 ili 15 jel.
Naći ću ja već nešto na internetu.
Hvala na trudu.