Munkafüzet-dokumentumok formázása

From Apache OpenOffice Wiki
Jump to: navigation, search
Book.png


A munkafüzet-dokumentum tulajdonságokat és metódusokat biztosít a cellák és oldalak formázásához.

Cellatulajdonságok

Számos tulajdonság áll rendelkezésre a cellák formázásához, például a betűtípus vagy a szöveg méretének megadásához. Minden cella támogatja a com.sun.star.style.CharacterProperties és a com.sun.star.style.ParagraphProperties szolgáltatást, amelyeknek a főbb tulajdonságainak leírása a Szöveges dokumentumokfejezetben található. A speciális cellaformázást a com.sun.star.table.CellProperties szolgáltatás végzi. Ennek a szolgáltatásnak a főbb tulajdonságait a következő részek írják le.

A fent említett tulajdonságokat alkalmazhatjuk az egyes cellákra és cellatartományokra.

Documentation note.png A CellProperties objektum az Apache OpenOffice API-ban kompatibilis a VBA Interior objektumával, amely szintén meghatározza a cellaspecifikus tulajdonságokat.

Háttérszín és árnyékok

A com.sun.star.table.CellProperties szolgáltatás a következő tulajdonságokat biztosítja a háttérszínek és árnyékok meghatározásához:

CellBackColor (hosszú egész szám)
a táblázatcella háttérszíne.
IsCellBackgroundTransparent (logikai érték)
átlátszóvá teszi a háttérszínt.
ShadowFormat (struktúra)
megadja a cella árnyéka (struktúra a com.sun.star.table.ShadowFormat tulajdonságnak megfelelően).

A com.sun.star.table.ShadowFormat struktúrának és a cellaárnyék részletes specifikációjának a következő a struktúrája:

Location (enumeráció)
az árnyékpozíciója (com.sun.star.table.ShadowLocation struktúra).
ShadowWidth (rövid egész)
az árnyék mérete századmilliméterben.
IsTransparent (logikai érték)
átlátszó árnyék.
Color (hosszú egész)
árnyék színe.

A következő példa az 1000 számot beírja a B2 cellába, módosítja a háttérszínét pirosra a CellBackColor tulajdonsággal, és létrehoz egy világosszürke árnyékot 1 milliméterre balra és lent.

Dim Doc As Object   
Dim Sheet As Object
Dim Cell As Object
Dim ShadowFormat As New com.sun.star.table.ShadowFormat
 
Doc = ThisComponent
Sheet = Doc.Sheets(0)
Cell = Sheet.getCellByPosition(1,1)
 
Cell.Value = 1000
 
Cell.CellBackColor = RGB(255, 0, 0)
 
ShadowFormat.Location = com.sun.star.table.ShadowLocation.BOTTOM_RIGHT
ShadowFormat.ShadowWidth = 100
ShadowFormat.Color = RGB(160, 160, 160)
 
Cell.ShadowFormat = ShadowFormat

Igazítás

Az Apache OpenOffice különböző funkciókat biztosít a táblázatcella szövegének igazításához.

A következő tulajdonságok meghatározzák a szöveg vízszintes és függőleges igazítását:

HoriJustify (enumeráció)
szöveg vízszintes igazítása (érték a com.sun.star.table.CellHoriJustify enumerációból)
VertJustify (enumeráció)
szöveg függőleges igazítása (érték a com.sun.star.table.CellVertJustify enumerációból)
Orientation (enumeráció)
a szöveg tájolása (a com.sun.star.table.CellOrientation enumerációnak megfelelően).
IsTextWrapped (logikai érték)
automatikus sortörések engedélyezése a cellán belül.
RotateAngle (hosszú egész szám)
a szöveg forgatása századfokban.

A következő példa bemutatja, hogyan „halmozható” egymásra a cella tartalma úgy, hogy az egyes karakterek egymásra lesznek nyomtatva, a cella bal felső sarkában. A karakterek nincsenek elforgatva.

Dim Doc As Object   
Dim Sheet As Object
Dim Cell As Object
 
Doc = ThisComponent
Sheet = Doc.Sheets(0)
Cell = Sheet.getCellByPosition(1,1)
 
Cell.Value = 1000
 
Cell.HoriJustify = com.sun.star.table.CellHoriJustify.LEFT
Cell.VertJustify = com.sun.star.table.CellVertJustify.TOP
Cell.Orientation = com.sun.star.table.CellOrientation.STACKED

Számok, dátumok és szöveg formázása

Az Apache OpenOffice számos előre definiált dátum- és időformátumot biztosít. Ezek mindegyike rendelkezik egy belső számmal, amelyet a NumberFormat tulajdonság használ cellák formázásához. Az Apache OpenOffice a queryKey és a addNew metódust biztosítja a meglévő számformátumokhoz való hozzáféréshez és új számformátumok létrehozásához. A metódusokat a következő objektumhíváson keresztül lehet elérni:

NumberFormats = Doc.NumberFormats

A formátumot egy formátum-karakterlánc határozza meg, amelynek struktúrája hasonló az Apache OpenOffice Basic formázási funkciójának struktúrájához. Viszont van egy különbség: míg a parancsformátum angol rövidítéseket és tizedespontot, illetve karaktereket vár ezreselválasztóként, addig a NumberFormats objektum struktúrájában a területi beállításoknak megfelelő parancsformátumot kell megadni.

A következő példa úgy formázza a B2 cellát, hogy a számok három tizedesjeggyel jelennek meg, és a vesszőt használják ezreselválasztóként.

Dim Doc As Object   
Dim Sheet As Object
Dim Cell As Object
Dim NumberFormats As Object
Dim NumberFormatString As String
Dim NumberFormatId As Long
Dim LocalSettings As New com.sun.star.lang.Locale
 
Doc = ThisComponent
Sheet = Doc.Sheets(0)
Cell = Sheet.getCellByPosition(1,1)
 
Cell.Value = 23400.3523565
 
LocalSettings.Language = "en"
LocalSettings.Country = "us"
 
NumberFormats = Doc.NumberFormats
NumberFormatString = "#,##0.000"
 
NumberFormatId = NumberFormats.queryKey(NumberFormatString, LocalSettings, True)
If NumberFormatId = -1 Then
   NumberFormatId = NumberFormats.addNew(NumberFormatString, LocalSettings)
End If
 
MsgBox NumberFormatId
Cell.NumberFormat = NumberFormatId

Az Apache OpenOffice Calc Cellák formázása párbeszédablaka áttekintés nyújt a cellák különböző formázási lehetőségeiről.

Oldaltulajdonságok

Az oldaltulajdonságok olyan formázási lehetőségek, amelyek meghatározzák a dokumentum tartalmának, valamint az oldalról oldalra ismétlő vizuális elemeknek az elhelyezkedését. Ezek közé tartoznak a következők:

  • Papírformátumok
  • Oldalmargók
  • Élőfejek és élőlábak

Az oldalformátumok definiálása eltér a más típusú formázásoktól. Míg a cellák, bekezdések és karakterek közvetlenül formázhatók, addig az oldalformátumok közvetetten is formázhatók oldalstílusok használatával. Például élőfejek és élőlábak adhatók az oldalstílushoz.

A következő részek leírják a munkalap-oldalak főbb formázási lehetőségeit. A bemutatott stílusok közül több is elérhető a szöveges dokumentumoknál. A mindkét dokumentumtípusnál használható oldaltulajdonságok a com.sun.star.style.PageProperties szolgáltatásban vannak definiálva. A csak a munkafüzet-dokumentumoknál használható tulajdonságok a com.sun.star.sheet.TablePageStyle szolgáltatásban vannak definiálva.

Documentation note.png A Microsoft Office-dokumentumok oldaltulajdonságait (oldalmargó, -keret stb.) a Worksheet objektum (Excel) vagy a Document objektum (Word) PageSetup objektuma definiálja. Az Apache OpenOffice programban ezeket a tulajdonságokat az oldalstílus definiálja, amely viszont a hozzá tartozó dokumentumhoz van csatolva.

Oldalháttér

A com.sun.star.style.PageProperties szolgáltatás a következő tulajdonságokat definiálja az oldalháttér számára:

BackColor (hosszú egész)
háttér színe.
BackGraphicURL (karakterlánc)
a használni kívánt háttérkép URL-je.
BackGraphicFilter (karakterlánc)
a háttérképet értelmező szűrő neve.
BackGraphicLocation (enumeráció)
a háttérkép pozíciója (az enumerációnak megfelelően).
BackTransparent (logikai érték)
átlátszó háttérkép.

Oldalformátum

Az oldalformátumot a com.sun.star.style.PageProperties szolgáltatás tulajdonságai határozzák meg:

IsLandscape (logikai érték)
fekvő formátum.
Width (hosszú egész)
az oldal szélessége századmilliméterben.
Height (hosszú egész)
az oldal magassága századmilliméterben.
PrinterPaperTray (karakterlánc)
használni kívánt nyomtatótálca neve.

A következő példa a "Default" oldalstílus méretét a DIN A5 fekvő formátumra (magasság: 14,8 cm, szélesség: 21 cm) állítja:

Dim Doc As Object   
Dim Sheet As Object
Dim StyleFamilies As Object 
Dim PageStyles As Object
Dim DefPage As Object
 
Doc = ThisComponent
StyleFamilies = Doc.StyleFamilies
PageStyles = StyleFamilies.getByName("PageStyles")
DefPage = PageStyles.getByName("Default")
 
DefPage.IsLandscape = True
DefPage.Width = 21000
DefPage.Height = 14800

Oldalmargó, -keret és -árnyék

A com.sun.star.style.PageProperties szolgáltatás a következő tulajdonságokat biztosítja az oldalmargók, -keretek és -árnyékok beállításához:

LeftMargin (hosszú egész)
a bal margó szélessége századmilliméterben.
RightMargin (hosszú egész)
a jobb margó szélessége századmilliméterben.
TopMargin (hosszú egész)
a felső margó szélessége századmilliméterben.
BottomMargin (hosszú egész)
az alsó margó szélessége századmilliméterben.
LeftBorder (struktúra)
az oldalkeret bal oldalának specifikációja (com.sun.star.table.BorderLine struktúra)
RightBorder (struktúra)
az oldalkeret jobb oldalának specifikációja (com.sun.star.table.BorderLine struktúra)
TopBorder (struktúra)
az oldalkeret felső oldalának specifikációja (com.sun.star.table.BorderLine struktúra)
BottomBorder (struktúra)
az oldalkeret alsó oldalának specifikációja (com.sun.star.table.BorderLine struktúra)
LeftBorderDistance (hosszú egész)
az oldalkeret bal oldala és az oldal tartalma közti távolság századmilliméterben.
RightBorderDistance (hosszú egész)
az oldalkeret jobb oldala és az oldal tartalma közti távolság századmilliméterben.
TopBorderDistance (hosszú egész)
az oldalkeret felső oldala és az oldal tartalma közti távolság századmilliméterben.
BottomBorderDistance (hosszú egész)
az oldalkeret alsó oldala és az oldal tartalma közti távolság századmilliméterben.
ShadowFormat (struktúra)
az oldal tartalomterülete árnyékának specifikációja (com.sun.star.table.ShadowFormat struktúra).

A következő példa a "Default" oldalstílus bal és jobb oldali keretét 1 cm-re állítja.

Dim Doc As Object   
Dim Sheet As Object
Dim StyleFamilies As Object 
Dim PageStyles As Object
Dim DefPage As Object
 
Doc = ThisComponent
StyleFamilies = Doc.StyleFamilies
PageStyles = StyleFamilies.getByName("PageStyles")
DefPage = PageStyles.getByName("Default")
 
DefPage.LeftMargin = 1000
DefPage.RightMargin = 1000

Élőfejek és élőlábak

A dokumentum élőfejei és élőlábai a dokumentumtulajdonságok részei, és a com.sun.star.style.PageProperties szolgáltatásban vannak definiálva. Az élőfejek formázási tulajdonságai a következők:

HeaderIsOn (logikai érték)
élőfej aktiválva.
HeaderLeftMargin (hosszú egész)
az élőfej és az oldal bal margója közti távolság századmilliméterben.
HeaderRightMargin (hosszú egész)
az élőfej és az oldal jobb margója közti távolság századmilliméterben.
HeaderBodyDistance (hosszú egész)
az élőfej és a dokumentumtörzs közti távolság századmilliméterben.
HeaderHeight (hosszú egész)
az élőfej magassága századmilliméterben.
HeaderIsDynamicHeight (logikai érték)
az élőfej magassága automatikusan igazodik a tartalmához.
HeaderLeftBorder (struktúra)
az élőfej körüli keret bal szegélye (com.sun.star.table.BorderLine struktúra).
HeaderRightBorder (struktúra)
az élőfej körüli keret jobb szegélye (com.sun.star.table.BorderLine struktúra).
HeaderTopBorder (struktúra)
az élőfej körüli keret felső szegélye (com.sun.star.table.BorderLine struktúra).
HeaderBottomBorder (struktúra)
az élőfej körüli keret alsó szegélye (com.sun.star.table.BorderLine struktúra).
HeaderLeftBorderDistance (hosszú egész)
az élőfejkeret bal oldali szegélye és tartalma közti távolság századmilliméterben.
HeaderRightBorderDistance (hosszú egész)
az élőfejkeret jobb oldali szegélye és tartalma közti távolság századmilliméterben.
HeaderTopBorderDistance (hosszú egész)
az élőfejkeret felső szegélye és tartalma közti távolság századmilliméterben.
HeaderBottomBorderDistance (hosszú egész)
az élőfejkeret alsó szegélye és tartalma közti távolság századmilliméterben.
HeaderIsShared (logikai érték)
azonos élőfej a páros és páratlan oldalakon (lásd: HeaderText, HeaderTextLeft és HeaderTextRight).
HeaderBackColor (hosszú egész szám)
az élőfej háttérszíne.
HeaderBackGraphicURL (karakterlánc)
a használni kívánt háttérkép URL-je.
HeaderBackGraphicFilter (karakterlánc)
az élőfej háttérképét értelmező szűrő neve.
HeaderBackGraphicLocation (enumeráció)
az élőfej háttérképének pozíciója (a com.sun.star.style.GraphicLocation enumerációnak megfelelően).
HeaderBackTransparent (logikai érték)
az élőfej háttere átlátszó lesz.
HeaderShadowFormat (struktúra)
az élőfej árnyéka (com.sun.star.table.ShadowFormat struktúra).

Az élőlábak formázási tulajdonságai a következők:

FooterIsOn (logikai érték)
élőláb aktiválva.
FooterLeftMargin (hosszú egész)
az élőláb és az oldal bal margója közti távolság századmilliméterben.
FooterRightMargin (hosszú egész)
az élőláb és az oldal jobb margója közti távolság századmilliméterben.
FooterBodyDistance (hosszú egész)
a élőláb és a dokumentumtörzs közti távolság századmilliméterben.
FooterHeight (hosszú egész)
az élőláb magassága századmilliméterben.
FooterIsDynamicHeight (logikai érték)
az élőláb magassága automatikusan igazodik a tartalmához.
FooterLeftBorder (struktúra)
az élőláb körüli keret bal szegélye (com.sun.star.table.BorderLine struktúra).
FooterRightBorder (struktúra)
az élőláb körüli keret jobb szegélye (com.sun.star.table.BorderLine struktúra).
FooterTopBorder (struktúra)
az élőláb körüli keret felső szegélye (com.sun.star.table.BorderLine struktúra).
FooterBottomBorder (struktúra)
az élőláb körüli keret alsó szegélye (com.sun.star.table.BorderLine struktúra).
FooterLeftBorderDistance (hosszú egész)
az élőlábkeret bal oldali szegélye és tartalma közti távolság századmilliméterben.
FooterRightBorderDistance (hosszú egész)
az élőlábkeret jobb oldali szegélye és tartalma közti távolság századmilliméterben.
FooterTopBorderDistance (hosszú egész)
az élőlábkeret felső szegélye és tartalma közti távolság századmilliméterben.
FooterBottomBorderDistance (hosszú egész)
az élőlábkeret alsó szegélye és tartalma közti távolság századmilliméterben.
FooterIsShared (logikai érték)
azonos élőláb a páros és páratlan oldalakon (lásd: FooterText, FooterTextLeft és FooterTextRight).
FooterBackColor (hosszú egész szám)
az élőláb háttérszíne.
FooterBackGraphicURL (karakterlánc)
a használni kívánt háttérkép URL-je.
FooterBackGraphicFilter (karakterlánc)
az élőláb háttérképét értelmező szűrő neve.
FooterBackGraphicLocation (enumeráció)
az élőláb háttérképének pozíciója (a com.sun.star.style.GraphicLocation enumerációnak megfelelően).
FooterBackTransparent (logikai érték)
az élőláb háttere átlátszó lesz.
FooterShadowFormat (struktúra)
az élőláb árnyéka (com.sun.star.table.ShadowFormat struktúra).

Az élőfejek és élőlábak szövegének módosítása

A munkalap élőfejeinek és élőlábainak tartalma a következő tulajdonságokkal érhetők el:

LeftPageHeaderContent (objektum)
a páros oldalak élőfejének tartalma (com.sun.star.sheet.HeaderFooterContent szolgáltatás).
RightPageHeaderContent (objektum)
a páratlan oldalak élőfejének tartalma (com.sun.star.sheet.HeaderFooterContent szolgáltatás).
LeftPageFooterContent (objektum)
a páros oldalak élőlábának tartalma (com.sun.star.sheet.HeaderFooterContent szolgáltatás).
RightPageFooterContent (objektum)
a páratlan oldalak élőlábának tartalma (com.sun.star.sheet.HeaderFooterContent szolgáltatás).

Ha nincs szükség a páros és páratlan oldalak élőfejének és élőlábának megkülönböztetésére (a FooterIsShared tulajdonság értéke False (hamis)), akkor a páratlan oldalak élőfejének és élőlábának tulajdonságát állítsuk be.

A fent felsorolt objektumok mindegyike visszaad egy objektumot, amely támogatja a com.sun.star.sheet.HeaderFooterContent szolgáltatást. A LeftText, a CenterText és a RightText tulajdonsággal ez a szolgáltatás három szöveges elemet biztosít az Apache OpenOffice Calc élőfejei és élőlábai számára.

A következő példa a "Csak teszt." értéket írja a "Default" sablon élőfejének bal oldali szövegébe.

Dim Doc As Object   
Dim Sheet As Object
Dim StyleFamilies As Object 
Dim PageStyles As Object
Dim DefPage As Object
Dim HText As Object
Dim HContent As Object
Doc = ThisComponent
StyleFamilies = Doc.StyleFamilies
PageStyles = StyleFamilies.getByName("PageStyles")
DefPage = PageStyles.getByName("Default")
 
DefPage.HeaderIsOn = True
HContent = DefPage.RightPageHeaderContent
HText = HContent.LeftText
HText.String = "Csak teszt."
DefPage.RightPageHeaderContent = HContent

Megjegyzés a program utolsó sorához: Miután a szöveg módosult, a TextContent objektumot ismét az élőfejhez kell rendelni, hogy a módosítás érvébe lépjen.

Az élőfejek és élőlábak módosításának másik módja a szöveges dokumentumoknál (Apache OpenOffice Writer) használható, mert ezek egyetlen szövegblokkból állnak. A com.sun.star.style.PageProperties szolgáltatás a következő tulajdonságokkal rendelkezik:

HeaderText (objektum)
az élőfejet tartalmazó szövegobjektum (com.sun.star.text.XText szolgáltatás).
HeaderTextLeft (objektum)
a bal oldalak élőfejét tartalmazó szövegobjektum (com.sun.star.text.XText szolgáltatás).
HeaderTextRight (objektum)
a jobb oldalak élőfejét tartalmazó szövegobjektum (com.sun.star.text.XText szolgáltatás).
FooterText (objektum)
az élőlábat tartalmazó szövegobjektum (com.sun.star.text.XText szolgáltatás).
FooterTextLeft (objektum)
a bal oldalak élőlábát tartalmazó szövegobjektum (com.sun.star.text.XText szolgáltatás).
FooterTextRight (objektum)
a jobb oldalak élőlábát tartalmazó szövegobjektum (com.sun.star.text.XText szolgáltatás).

A következő példa létrehoz egy élőfejet a szöveges dokumentum "Default" sablonjában, és hozzáadja a "Csak teszt." szöveget.

Dim Doc As Object   
Dim Sheet As Object
Dim StyleFamilies As Object 
Dim PageStyles As Object
Dim DefPage As Object
Dim HText As Object
 
Doc = ThisComponent
StyleFamilies = Doc.StyleFamilies
PageStyles = StyleFamilies.getByName("PageStyles")
DefPage = PageStyles.getByName("Default")
 
DefPage.HeaderIsOn = True
HText = DefPage.HeaderText  
 
HText.String = "Csak teszt."

Ebben a példában a program közvetlenül a HeaderText tulajdonsággal fér hozzá az oldalstílus tulajdonságához HeaderFooterContent objektum helyett.

Középre igazítás (csak munkalapok)

A com.sun.star.sheet.TablePageStyle szolgáltatás szolgáltatás csak az Apache OpenOffice Calc-oldalstílusokkal használható, és segítségével a kinyomtatni kívánt cellatartományok középre igazíthatók az oldalon. Ez a szolgáltatás következő tulajdonságokat biztosítja:

CenterHorizontally (logikai érték)
a táblázat tartalma vízszintesen középre van igazítva.
CenterVertically (logikai érték)
a táblázat tartalma függőlegesen középre van igazítva.

A kinyomtatandó elemek meghatározása (csak munkalapok)

Munkalapok formázásánál megadhatjuk, hogy az oldalelemek láthatók legyenek-e. Ebből a célból a com.sun.star.sheet.TablePageStyle szolgáltatás a következő tulajdonságokat biztosítja:

PrintAnnotations (logikai érték)
cellamegjegyzések nyomtatása.
PrintGrid (logikai érték)
cella rácsvonalainak nyomtatása.
PrintHeaders (logikai érték)
sor- és oszlopfejlécek nyomtatása.
PrintCharts (logikai érték)
a munkalap diagramjainak nyomtatása.
PrintObjects (logikai érték)
beágyazott objektumok nyomtatása.
PrintDrawing (logikai érték)
rajzobjektumok nyomtatása.
PrintDownFirst (logikai érték)
ha a munkalap tartalma több oldalra kiterjed, akkor először lefelé haladó sorrendben lesznek kinyomtatva, majd jobbra.
PrintFormulas (logikai érték)
a képletek kinyomtatása a kiszámított értékek helyett.
PrintZeroValues (logikai érték)
nullák nyomtatása.


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools