V automatických opravách by jste musel definovat veškeré kombinace čísel a písmen pro které chcete vložit mezeru. Pravda je, že by se Vám dokument takto formátoval již při psaní, ale ta práce než to zadáte....
Než p. Pastierik vytvoří rozšíření - je možné použít toto makro.
1. Vyhledá všechna čísla s písmeny a rozměrem (např. 3cm2) a vloží mezeru mezi číslo a písmeno.
2. Vyhledá všehna čísla s písmeny (např. 3cm) a vloží mezeru
3. Vyhledá rozměry (čtvereční a krychlové) a rozměr zformátuje jako horní index
Šlo by také rozšířit makro o test, zda jsou jednotky zapsány správně (velká a malá písmena)...
sub format_mernych_jednotek
doc = thisComponent
REM najde a přidá mezery mezi číslo a písmeno
formcisla=doc.CreateReplaceDescriptor
formcisla.SearchRegularExpression = true
formcisla.searchstring = "([:digit:]+)([:alpha:]+)([:digit:])\>" 'čísla,písmena,číslo (3cm3)
formcisla.ReplaceString = "$1"+ chr$(&HA0) + "$2" + "$3"
doc.ReplaceAll(formcisla)
formcisla=doc.CreateReplaceDescriptor
formcisla.SearchRegularExpression = true
formcisla.searchstring = "([:digit:]+)([:alpha:]+)\>" 'čísla, písmena (3cm)
formcisla.ReplaceString = "$1"+ chr$(&HA0) + "$2" 'vložíme nezalomitelnou mezeru
doc.ReplaceAll(formcisla)
rozmer=doc.CreateSearchDescriptor
rozmer.SearchRegularExpression = true
rozmer.SearchString = "([:alpha:])([23])\>" ' všechna písmena s čísly 2 nebo 3 bez mezer
pocet = doc.FindAll(rozmer) ' celkový počet výskytů
jeden = doc.FindFirst(rozmer) ' první výskyt
for i = 0 to pocet.count - 1 ' od prvního do posledního výskytu
kurzor = jeden.text.createTextCursorByRange(jeden) ' vytvoříme kurzor na jednotlivém výskytu
kurzor.CollapseToEnd() ' posuneme se na konec výskytu
kurzor.GoLeft(1, True) ' označíme poslední znak výskytu (2 nebo 3)
kurzor.CharEscapement = 30 ' nejsem si jist výškou nastavení indexu
kurzor.CharEscapementHeight = 60 ' ani jeho velikostí, snad to odpovídá, je to od oka
jeden = doc.FindNext(jeden, rozmer) ' přejdeme na další výskyt
next i
end sub
;o)
Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ