Formátování buněk – parametry písma a formát čísel

programovani.png V tomto díle dokončíme formátování buněk, a to zejména jejich obsahu. Naučíte se nastavit parametry textu v buňce a u číselného obsahu její formát (např. datum, měna, procenta apod.)  

Formát obsahu buňky

Velmi důležitou součástí formátu buňky je správné naformátování jejího obsahu. Nejprve se naučíte ovládat způsob zobrazení obsahu. Tedy to, co najdete na záložce písmo při formátování buněk standardní cestou. K ovládání tohoto formátu slouží mnoho příkazů, většinou ale použijete pouze několik, např. velikost písma, druh fontu apod.

Název písma

Změnu fontu provedete jednoduchým příkazem, jímž přiřadíte k buňce (nebo oblasti buněk) název písma, který se má použít:

bunka.CharFontName = "Arial"' název písma uzavřený v uvozovkách

Barva písma

K nastavení barvy písma využijte funkci RGB:

bunka.CharColor = RGB(125,125,125)

Styl písma

Tučné písmo – šířka písma

Zde určujete, zda má být použito písmo běžné, kurzíva, tučné, nebo tučná kurzíva. Makro ale má více možností nastavení než vlastní dialog pro formát písma.

bunka.CharWeight = com.sun.star.awt.FontWeight.BOLD ' tučně

Lze nastavit tyto možnosti:

.FontWeight.DONTKNOW – velikost fontu není specifikována/známa,

.FontWeight.THIN – nastaví písmo na 50 % velikosti fontu,

.FontWeight.ULTRALIGHT – nastaví písmo na 60 % velikosti,

.FontWeight.SEMILIGHT – nastaví písmo na 75 %,

.FontWeight.LIGHT – nastaví písmo na 90 %,

.FontWeight.NORMAL– nastaví písmo na běžnou velikost,

.FontWeight.SEMIBOLD – nastaví písmo na 110 %,

.FontWeight.BOLD – nastaví písmo na 150 %,

.FontWeight.ULTRABOLD – nastaví písmo na 175 %,

.FontWeight.BLACK – nastaví písmo na 200 %.

Kurzíva – sklon písma

I kurzíva má více možností zadání:

bunka.CharPosture = com.sun.star.awt.FontSlant.ITALIC ' kurzíva

Některé fonty obsahují kurzívu (italic) a některé naklonění (oblique – například fonty DejaVu). Další volby záleží právě na tom, jakou mají fonty podporu.

.FontSlant.NONE – zruší kurzívu,

.FontSlant.OBLIQUE – nastaví sklonění u některých fontů,

.FontSlant.ITALIC – nastaví klasickou kurzívu,

.FontSlant.DONTKNOW – nastaví písmo s neznámým sklonem,

.FontSlant.REVERSE_ITALIC – nastaví zpětné naklonění písma,

.FontSlant.REVERSE_OBLIQUE – nastaví zpětné naklonění písma.

Velikost písma

Nastavení velikosti písma je velmi jednoduché.

bunka.CharFontWeight = 12 ' pro velikost znaků 12

Efekty pro písmo

Podtržení obsahu buňky

Existuje celkem 18 druhů podtržení hodnot. Každý druh má svoji konstantu (přidělené číslo). Například číslice 0 (nula) zruší podtržení, 1 (jednička) nastaví podtržení jednoduchou čarou, 2 (dvojka) dvojitá čára atd. Samotné podtržení nastavíte jednoduše:

bunka.CharUnderLine = 1 ' podtržení jednoduchou čarou

Pro zjištění, jaké hodnoty jsou možné, můžete využít toto makro, které do řádků rozepíše, jaká hodnota byla použita, a znázorní použité podtržení.

sub podtrzeni
for i = 0 to 18
bunka = thisComponent.sheets(0).getCellByPosition(0,i)
bunka.string = "Nastavení podtržení obsahu při hodnotě .CharUnderLine = " & i
bunka.CharUnderLine = i
next i
end sub

Je také možné nastavit barvu podtržení, stejně jako u písma zvolíte barvu funkcí RGB. Jen ji navíc musíte zvláštním příkazem povolit.

bunka.CharUnderLineColor = RGB(125,125,125)' zvolíte barvu
bunka.CharUnderLineHasColor = True

Nastavení reliéfu a rytiny

Tyto druhy nastavíte obdobně jako například kurzívu. Jedním příkazem s třemi možnostmi:

bunka.CharRelief = com.sun.star.text.FontRelief.EMBOSSED ' reliéf
bunka.CharRelief = com.sun.star.text.FontRelief.ENGRAVED ' rytina
bunka.CharRelief = com.sun.star.text.FontRelief.NONE ' zrušení

Ostatní nastavení efektů

Následující formáty buněk se nastavují pomocí logické vlastnosti bollean.

Přeškrtnutí textu

bunka.CharCrossedOut = True
Nastavení obrysů textu
bunka.CharContoured = True
Nastavení stínování textu
bunka.CharShadowed = True

Shrnutí

Vlastností písma je daleko více a jejich nastavení naleznete na webu CharacterProperties. Následujícím kódem nastavíte většinu ze zde popsaných vlastností:

bunka = thisComponent.sheets(0).getCellRangeByName("A1")
bunka.CharFontName = "Arial"
bunka.CharColor = RGB(255,0,0)
bunka.CharHeight = 25
bunka.CharWeight = com.sun.star.awt.FontWeight.BOLD
bunka.charPosture = com.sun.star.awt.FontSlant.ITALIC
bunka.CharUnderLine = 1
bunka.CharUnderLineColor = RGB(125,125,125)' zvolíte barvu
bunka.CharUnderLineHasColor = True
bunka.CharCrossedOut = True
bunka.CharContoured = True
bunka.CharShadowed = True

Nastavení vlastností písma v buňce Nastavení vlastností písma v buňce

Formátování čísel

Formát čísel je velmi důležitou součástí sešitů. Formátů existuje celá řada a všechny lze přizpůsobit vašim potřebám. V dokumentu určujete formát čísel na první záložce dialogu Formát buněk.

Formát čísel Formát čísel

Makrem je nutné definovat číselný formát, který následně přiřadíte k buňce nebo k oblasti buněk. Musíte také ošetřit případ, kdy definovaný formát neexistuje a musíte ho vytvořit.

Určení jazyka

Určení jazyka (lokalizace jazykové verze programu) je velmi důležité zejména při formátování čísel na data. Jazyk je nutné nastavit pouze tehdy, pokud chcete změnit výchozí nastavení programu. Pro tento případ použijete strukturu com.sun.star.lang.Locale. Nastavujete jazyk a zemi pomocí ISO kódů. Přehled těchto kódů naleznete pro jazyk v souboru iso639.txt, ale také pro zemi.

Dim jazyk as new com.sun.star.lang.Locale
jazyk.Language = "cs"
jazyk.Country = "CZ"
Standardní formáty

Program poskytuje více přednastavených formátů pro čísla – standardní číslo, datum, čas, procenta atd. Jejich použití v makru je jednoduché.

doc = ThisComponent
oblast = doc.sheets(0).getCellRangeByName("A1:F10")
formaty_cisel = doc.NumberFormats
oblast.NumberFormat = formaty_cisel.getStandardFormat(com.sun.star.util.NumberFormat.CURRENCY, jazyk)

Je možný i zápis pomocí konstanty (přiřazeného čísla k jednotlivým formátům):

formaty_cisel.getStandardFormat(8, jazyk)

Možnosti com.sun.star.util.NumberFormat jsou následující:

ALL pro všechny formáty – konstanta – 0,

DATE pro datum – konstanta – 2,

TIME pro čas – konstanta – 4,

CURRENCY pro měnu – konstanta – 8,

NUMBER pro čísla desítkové soustavy – konstanta – 16,

SCIENTIFIC vědecký formát čísla – konstanta – 32,

FRACTION pro zápis zlomků – konstanta – 64,

PERCENT pro procenta – konstanta – 128,

TEXT pro formátování čísla jako textu – konstanta – 256,

DATETIME pro datum a čas – konstanta – 6,

LOGICAL pro logickou hodnotu – konstanta – 1024.

Pro případ, že přednastavené formáty nevyhovují, se v příštím díle dozvíte, jak nastavit vlastní formát. Naučíte se také nastavit podmíněné formátování pomocí makra.

(Jako ve škole) Průměr: 1,12 | Hodnotilo: 8
 

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
Daniel Sedláček

Daniel Sedláček

Amatérsky se věnuji programování maker od podzimu 2010.
Aktivní jsem na fóru od ledna 2011.
Od července 2011 spolupracuji i jako moderátor fóra.

Využívám pouze OpenOffice.org (LibreOffice nemám nainstalován).