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
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.
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.