Werkbladdocumenten opmaken
- De structuur van werkbladdocumenten
- Rijen en kolommen
- Cellen en bereiken
- Werkbladdocumenten opmaken
- Werkbladdoucmenten bewerken
Een werkbladdocument verschaft eigenschappen en methoden voor het opmaken van cellen en pagina's.
Celeigenschappen
Er zijn vele opties voor het opmaken van cellen, zoals het specificeren van het lettertype en afmeting voor tekst. Elke cel ondersteunt de services com.sun.star.style.CharacterProperties en com.sun.star.style.ParagraphProperties, waarvan de belangrijkste eigenschappen werden beschreven in Tekstdocumenten. Speciale celopmaak wordt behandeld door de service com.sun.star.table.CellProperties. De belangrijkste eigenschappen voor deze service worden beschreven in de volgende gedeelten.
U kunt alle genoemde eigenschappen toepassen op individuele cellen en ook op celbereiken.
VBA : Het object CellProperties in de API van Apache OpenOffice is vergelijkbaar met het object Interior uit VBA dat ook specifieke eigenschappen voor cellen definieert. |
Achtergrondkleur en schaduw
De service com.sun.star.table.CellProperties verschaft de volgende eigenschappen voor het definiëren van achtergrondkleuren en schaduw:
- CellBackColor (Long)
- achtergrondkleur van de tabelcel
- IsCellBackgroundTransparent (Boolean)
- stelt de achtergrondkleur op transparant in
- ShadowFormat (struct)
- specificeert de schaduw voor cellen (structuur die overeenkomt met com.sun.star.table.ShadowFormat)
De structuur com.sun.star.table.ShadowFormat en de gedetailleerde specificaties voor de schaduw voor cellen hebben de volgende structuur:
- Location (enum)
- positie van de schaduw (waarde van de structuur com.sun.star.table.ShadowLocation).
- ShadowWidth (Short)
- grootte van de schaduw in 100-en van een millimeter
- IsTransparent (Boolean)
- stelt de schaduw in op transparant
- Color (Long)
- kleur van de schaduw
Het volgende voorbeeld schrijft het getal 1000 in de cel B2, verandert de achtergrondkleur naar rood met behulp van de eigenschap CellBackColor en maakt dan voor de cel een lichtgrijze schaduw welke 1 mm naar links en naar beneden verplaatst wordt.
Dim Doc As Object Dim Blad As Object Dim Cel As Object Dim SchaduwOpmaak As New com.sun.star.table.ShadowFormat Doc = ThisComponent Blad = Doc.Sheets(0) Cel = Blad.getCellByPosition(1,1) Cel.Value = 1000 Cel.CellBackColor = RGB(255, 0, 0) SchaduwOpmaak.Location = com.sun.star.table.ShadowLocation.BOTTOM_RIGHT SchaduwOpmaak.ShadowWidth = 100 SchaduwOpmaak.Color = RGB(160, 160, 160) Cel.ShadowFormat = SchaduwOpmaak
Uitlijnen
Apache OpenOffice verschaft verschillende functies die u toestaan de uitlijning van een tekst in een tabel te veranderen.
De volgende eigenschappen definiëren de horizontale en verticale uitlijning van een tekst:
- HoriJustify (enum)
- horizontale uitlijning van de tekst (waarde uit com.sun.star.table.CellHoriJustify)
- VertJustify (enum)
- verticale uitlijning van de tekst (waarde uit com.sun.star.table.CellVertJustify)
- Orientation (enum)
- richting van de tekst (waarde die overeenkomt met com.sun.star.table.CellOrientation)
- IsTextWrapped (Boolean)
- staat automatische regeleinden binnen de cel toe
- RotateAngle (Long)
- draaihoek van de tekst in 100-en van een graad
Het volgende voorbeeld toont hoe u de inhoud van een cel kunt “stapelen” zodat de individuele tekens onder elkaar worden afgedrukt in de linkerbovenhoek van de cel. De tekens worden niet gedraaid.
Dim Doc As Object Dim Blad As Object Dim Cel As Object Doc = ThisComponent Blad = Doc.Sheets(0) Cel = Blad.getCellByPosition(1,1) Cel.Value = 1000 Cel.HoriJustify = com.sun.star.table.CellHoriJustify.LEFT Cel.VertJustify = com.sun.star.table.CellVertJustify.TOP Cel.Orientation = com.sun.star.table.CellOrientation.STACKED
Opmaken van getallen, datum en tekst
Apache OpenOffice verschaft een heel bereik aan voorgedefinieerde datum en tijd-opmaken. Elk van deze opmaken heeft een intern getal dat wordt gebruikt om de opmaak toe te wijzen aan cellen met behulp van de eigenschap NumberFormat. Apache OpenOffice verschaft de methoden queryKey en addNew zodat u bestaande opmaak voor getallen kunt benaderen en ook uw eigen opmaak voor getallen kunt maken. De methoden worden benaderd via de volgende aanroep voor het object:
NumberFormats = Doc.NumberFormats
Een opmaak wordt gespecificeerd met behulp van een tekenreeks voor opmaak die is gestructureerd op eenzelfde wijze als de functie voor opmaak van Apache OpenOffice BASIC. Er is echter één groot verschil: waar de opmaak via opdrachten Engelse afkortingen verwacht en decimale punten of tekens als scheidingsteken voor duizendtallen, moeten land-specifieke afkortingen worden gebruikt voor de structuur van een opmaak via opdrachten voor het object NumberFormats.
Het volgende voorbeeld maakt de B2 cel op zodat getallen worden weergegeven met drie decimale plaatsen en komma's gebruikt als scheidingsteken voor duizendtallen.
Dim Doc As Object Dim Blad As Object Dim Cel As Object Dim GetalOpmaak As Object Dim GetalOpmaakTekens As String Dim NummerOpmaakId As Long Dim LocaleInstellingen As New com.sun.star.lang.Locale Doc = ThisComponent Blad = Doc.Sheets(0) Cel = Blad.getCellByPosition(1,1) Cel.Value = 23400.3523565 LocaleInstellingen.Language = "en" LocaleInstellingen.Country = "us" GetalOpmaak = Doc.NumberFormats GetalOpmaakTekens = "#,##0.000" GetalOpmaakId = GetalOpmaak.queryKey(GetalOpmaakTekens, LocaleInstellingen, True) If GetalOpmaakId = -1 Then GetalOpmaakId = GetalOpmaak.addNew(GetalOpmaakTekens, LocaleInstellingen) End If MsgBox GetalOpmaakId Cel.NumberFormats = GetalOpmaakId
Het dialoogvenster Cellen opmaken in Apache OpenOffice Calc verschaft een overzicht van de verschillende opties voor opmaak van cellen.
Eigenschappen voor pagina's
Eigenschappen voor pagina's zijn de opties voor opmaak die de inhoud van het document op een pagina plaatsen, net zoals de visuele elementen die pagina na pagina herhaald worden. Hierbij horen
- Indeling van het papier
- Paginamarges
- Kop- en voetteksten.
De procedure voor het definiëren van opmaak van de pagina verschilt van andere vormen van opmaak. Waar dat bij cel, alinea, en teken-elementen direct kan, kan opmaak voor de pagina ook worden gedefinieerd en indirect worden toegepast met behulp van pagina-opmaakprofielen. Kop- en voetteksten worden bijvoorbeeld toegevoegd aan het pagina-opmaakprofiel.
De volgende gedeelten beschrijven de belangrijkste opties voor opmaak van pagina's van werkbladen. Veel van de opmaakprofielen die worden beschreven zijn ook beschikbaar voor tekstdocumenten. De eigenschappen voor pagina's die geldig zijn voor beide typen van documenten worden gedefinieerd in de service com.sun.star.style.PageProperties. De eigenschappen voor pagina's die alleen kunnen worden toegepast op werkbladdocumenten worden gedefinieerd in de service com.sun.star.sheet.TablePageStyle.
Achtergrond van pagina
De service com.sun.star.style.PageProperties definieert de volgende eigenschappen van een achtergrond van een pagina:
- BackColor (long)
- kleur van de achtergrond
- BackGraphicURL (String)
- URL van de afbeelding voor de achtergrond die u wilt gebruiken
- BackGraphicFilter (String)
- naam van het filter voor het interpreteren van de afbeelding voor de achtergrond
- BackGraphicLocation (Enum)
- positie van de afbeelding voor de achtergrond (waarde overeenkomstig de nummering)
- BackTransparent (Boolean)
- maakt de achtergrond transparant
Opmaak van de pagina
De opmaak van de pagina wordt gedefinieerd met behulp van de volgende eigenschappen van de service com.sun.star.style.PageProperties
- IsLandscape (Boolean)
- indeling Liggend
- Width (long)
- breedte van de pagina in 100-en van een millimeter
- Height (long)
- hoogte van de pagina in 100-en van een millimeter
- PrinterPaperTray (String)
- naam van de papierlade van de printer die u wilt gebruiken
Het volgende voorbeeld stelt de opmaak van de pagina van het paginaopmaakprofiel “Standaard” in op de indeling DIN A5 liggend (hoogte 14.8 cm, breedte 21 cm):
Dim Doc As Object Dim Blad As Object Dim Opmaakprofielen As Object Dim PaginaOpmaakprofielen As Object Dim DefPagina As Object Doc = ThisComponent Opmaakprofielen = Doc.StyleFamilies PaginaOpmaakprofielen = Opmaakprofielen.getByName("PageStyles") DefPagina = PaginaOpmaakprofielen.getByName("Default") DefPagina.IsLandscape = True DefPagina.Width = 21000 DefPagina.Height = 14800
Paginamarge, rand en schaduw
De service com.sun.star.style.PageProperties verschaft de volgende eigenschappen voor het aanpassen van de paginamarges, evenals voor omrandingen en schaduw:
- LeftMargin (long)
- breedte van de linker paginamarge in 100-en van een millimeter
- RightMargin (long)
- breedte van de rechter paginamarge in 100-en van een millimeter
- TopMargin (long)
- breedte van de bovenste paginamarge in 100-en van een millimeter
- BottomMargin (long)
- breedte van de onderste paginamarge in 100-en van een millimeter
- LeftBorder (struct)
- specificaties voor linker rand van de pagina (structuur com.sun.star.table.BorderLine)
- RightBorder (struct)
- specificaties voor rechter rand van de pagina (structuur com.sun.star.table.BorderLine )
- TopBorder (struct)
- specificaties voor bovenste rand van de pagina (structuur com.sun.star.table.BorderLine )
- BottomBorder (struct)
- specificaties voor onderste rand van de pagina (structuur com.sun.star.table.BorderLine )
- LeftBorderDistance (long)
- afstand tussen de linker rand van de pagina en de inhoud van de pagina in 100-en van een millimeter
- RightBorderDistance (long)
- afstand tussen de rechter rand van de pagina en de inhoud van de pagina in 100-en van een millimeter
- TopBorderDistance (long)
- afstand tussen de bovenste rand van de pagina en de inhoud van de pagina in 100-en van een millimeter
- BottomBorderDistance (long)
- afstand tussen de onderste rand van de pagina en de inhoud van de pagina in 100-en van een millimeter
- ShadowFormat (struct)
- specificaties voor schaduw van het geied van de inhoud van de pagina (structuur com.sun.star.table.ShadowFormat)
Het volgende voorbeeld stelt de linker en rechter rand van het paginaopmaakprofiel “Standaard” in op 1 centimeter.
Dim Doc As Object Dim Blad As Object Dim OpmaakProfielen As Object Dim PaginaOpmaakprofielen As Object Dim DefPagina As Object Doc = ThisComponent OpmaakProfielen = Doc.StyleFamilies PaginaOpmaakprofielen = OpmaakProfielen.getByName("PageStyles") DefPagina = PaginaOpmaakprofielen.getByName("Standaard") DefPagina.LeftMargin = 1000 DefPagina.RightMargin = 1000
Kop- en voetteksten
De kop- en voetteksten van een document vormen een deel van de pagina-eigenschappen en worden gedefinieerd met behulp van de service com.sun.star.style.PageProperties. De eigenschappen voor het opmaken van de kopteksten zijn:
- HeaderIsOn (Boolean)
- koptekst is actief
- HeaderLeftMargin (long)
- afstand tussen de koptekst en de linker paginamarge in 100-en van een millimeter
- HeaderRightMargin (long)
- afstand tussen de koptekst en de rechter paginamarge in 100-en van een millimeter
- HeaderBodyDistance (long)
- afstand tussen de koptekst en het gebied voor de inhoud in 100-en van een millimeter
- HeaderHeight (long)
- hoogte van de koptekst in 100-en van een millimeter
- HeaderIsDynamicHeight (Boolean)
- hoogte van de koptekst wordt automatisch aangepast aan de inhoud
- HeaderLeftBorder (struct)
- details van de linker rand van het kader rondom de koptekst (structuur com.sun.star.table.BorderLine )
- HeaderRightBorder (struct)
- details van de rechter rand van het kader rondom de koptekst (structuur com.sun.star.table.BorderLine )
- HeaderTopBorder (struct)
- details van de bovenste rand van het kader rondom de koptekst (structuur com.sun.star.table.BorderLine )
- HeaderBottomBorder (struct)
- details van de onderste rand van het kader rondom de koptekst (structuur com.sun.star.table.BorderLine )
- HeaderLeftBorderDistance (long)
- afstand tussen de linker rand en de inhoud van de koptekst in 100-en van een millimeter
- HeaderRightBorderDistance (long)
- afstand tussen de rechter rand en de inhoud van de koptekst in 100-en van een millimeter
- HeaderTopBorderDistance (long)
- afstand tussen de bovenste rand en de inhoud van de koptekst in 100-en van een millimeter
- HeaderBottomBorderDistance (long)
- afstand tussen de onderste rand en de inhoud van de koptekst in 100-en van een millimeter
- HeaderIsShared (Boolean)
- kopteksten op even en oneven pagina's hebben dezelfde inhoud (bekijk ook HeaderText , HeaderTextLeft en HeaderTextRight )
- HeaderBackColor (long)
- kleur van de achtergrond van de koptekst
- HeaderBackGraphicURL (String)
- URL van de afbeelding voor de achtergrond die u wilt gebruiken
- HeaderBackGraphicFilter (String)
- naam van het filter voor het interpreteren van de afbeelding voor de achtergrond voor de koptekst
- HeaderBackGraphicLocation (Enum)
- positie van de afbeelding voor de koptekst (waarde die overeenkomt met de opsomming com.sun.star.style.GraphicLocation)
- HeaderBackTransparent (Boolean)
- geeft de achtergrond van de koptekst transparant weer
- HeaderShadowFormat (struct)
- details voor de schaduw van de koptekst (structuur com.sun.star.table.ShadowFormat )
De eigenschappen voor het opmaken van voetteksten zijn:
- FooterIsOn (Boolean)
- voettekst is actief
- FooterLeftMargin (long)
- afstand tussen de voettekst en de linker paginamarge in 100-en van een millimeter
- FooterRightMargin (long)
- afstand tussen de voettekst en de rechter paginamarge in 100-en van een millimeter
- FooterBodyDistance (long)
- afstand tussen de voettekst en het gebied voor de inhoud in 100-en van een millimeter
- FooterHeight (long)
- hoogte van de voettekst in 100-en van een millimeter
- FooterIsDynamicHeight (Boolean)
- hoogte van de voettekst wordt automatisch aangepast aan de inhoud
- FooterLeftBorder (struct)
- details van de linker rand van het kader rondom de voettekst (structuur com.sun.star.table.BorderLine )
- FooterRightBorder (struct)
- details van de rechter rand van het kader rondom de voettekst (structuur com.sun.star.table.BorderLine)
- FooterTopBorder (struct)
- details van de bovenste rand van het kader rondom de voettekst (structuur com.sun.star.table.BorderLine)
- FooterBottomBorder (struct)
- details van de onderste rand van het kader rondom de voettekst (structuur com.sun.star.table.BorderLine)
- FooterLeftBorderDistance (long)
- afstand tussen de linker rand en de inhoud van de voettekst in 100-en van een millimeter
- FooterRightBorderDistance (long)
- afstand tussen de rechter rand en de inhoud van de voettekst in 100-en van een millimeter
- FooterTopBorderDistance (long)
- afstand tussen de bovenste rand en de inhoud van de voettekst in 100-en van een millimeter
- FooterBottomBorderDistance (long)
- afstand tussen de onderste rand en de inhoud van de voettekst in 100-en van een millimeter
- FooterIsShared (Boolean)
- de voetteksten op de even en oneven pagina's hebben dezelfde inhoud (bekijk ook FooterText, FooterTextLeft en FooterTextRight )
- FooterBackColor (long)
- kleur van de achtergrond van de voettekst
- FooterBackGraphicURL (String)
- URL van de afbeelding voor de achtergrond die u wilt gebruiken
- FooterBackGraphicFilter (String)
- naam van het filter voor het interpreteren van de afbeelding voor de achtergrond voor de voettekst
- FooterBackGraphicLocation (Enum)
- positie van de afbeelding voor de voettekst (waarde die overeenkomt met de opsomming com.sun.star.style.GraphicLocation)
- FooterBackTransparent (Boolean)
- geeft de achtergrond van de voettekst transparant weer
- FooterShadowFormat (struct)
- details van de schaduw van de voettekst (structuur com.sun.star.table.ShadowFormat)
Wijzigen van de tekst van kop- en voetteksten
De inhoud van kop- en voetteksten in een werkblad wordt toegankelijk via de volgende eigenschappen:
- LeftPageHeaderContent (Object)
- inhoud van kopteksten op even pagina's (service com.sun.star.sheet.HeaderFooterContent)
- RightPageHeaderContent (Object)
- inhoud van kopteksten op oneven pagina's (service com.sun.star.sheet.HeaderFooterContent)
- LeftPageFooterContent (Object)
- inhoud van kvoetteksten op even pagina's (service com.sun.star.sheet.HeaderFooterContent)
- RightPageFooterContent (Object)
- inhoud van voetteksten op oneven pagina's(service com.sun.star.sheet.HeaderFooterContent)
Als u geen onderscheid hoeft te maken tussen kop- of voetteksten voor even en oneven pagina's (de eigenschap FooterIsShared is False), stel de eigenschappen voor kop- en voetteksten dan in op oneven pagina's.
Alle genoemde objecten geven een object terug dat de service com.sun.star.sheet.HeaderFooterContent ondersteunt. Door middel van de (niet-oorspronkelijke) eigenschappen LeftText, CenterText en RightText verschaft deze service drie tekstelementen voor de kop- en voetteksten van Apache OpenOffice Calc.
Het volgende voorbeeld schrijft de waarde "Alleen een test." in het linkertekstveld van de koptekst van het opmaakprofiel "Standaard".
Dim Doc As Object Dim Blad As Object Dim Opmaakprofielen As Object Dim PaginaOpmaakprofielen As Object Dim DefPagina As Object Dim KopTekst As Object Dim KopInhoud As Object Doc = ThisComponent Opmaakprofielen = Doc.StyleFamilies PaginaOpmaakprofielen = Opmaakprofielen.getByName("PageStyles") DefPagina = Opmaakprofielen.getByName("Standaard") DefPagina.HeaderIsOn = True KopInhoud = DefPagina.RightPageHeaderContent KopTekst = KopInhoud.LeftText KopTekst.String = "Alleen een test." DefPagina.RightPageHeaderContent = KopInhoud
Let op de laatste regel in het voorbeeld: Als de tekst eenmaal is veranderd, moet het object TextContent opnieuw worden toegewezen aan de koptekst zodat de wijziging effectief wordt.
Another mechanism for changing the text of headers and footers is available for text documents (Apache OpenOffice Writer) because these consist of a single block of text. The following properties are defined in the com.sun.star.style.PageProperties service:
- HeaderText (Object)
- text object with content of the header (com.sun.star.text.XText service)
- HeaderTextLeft (Object)
- text object with content of headers on left-hand pages (com.sun.star.text.XText service)
- HeaderTextRight (Object)
- text object with content of headers on right-hand pages (com.sun.star.text.XText service)
- FooterText (Object)
- text object with content of the footer (com.sun.star.text.XText service)
- FooterTextLeft (Object)
- text object with content of footers on left-hand pages (com.sun.star.text.XText service)
- FooterTextRight (Object)
- text object with content of footers on right-hand pages (com.sun.star.text.XText service)
The following example creates a header in the "Default" page style for text documents and adds the text "Just a Test" to the header.
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 = "Just a Test."
In this instance, access is provided directly through the HeaderText property of the page style rather than the HeaderFooterContent object.
Centering (Spreadsheets Only)
The com.sun.star.sheet.TablePageStyle service is only used in Apache OpenOffice Calc page styles and allows cell ranges that you want printed to be centered on the page. This service provides the following properties:
- CenterHorizontally (Boolean)
- table content is centered horizontally
- CenterVertically (Boolean)
- table content is centered vertically
Definition of Elements to be Printed (Spreadsheets Only)
When you format sheets, you can define whether page elements are visible. For this purpose, the com.sun.star.sheet.TablePageStyle service provides the following properties:
- PrintAnnotations (Boolean)
- prints cell comments
- PrintGrid (Boolean)
- prints the cell gridlines
- PrintHeaders (Boolean)
- prints the row and column headings
- PrintCharts (Boolean)
- prints charts contained in a sheet
- PrintObjects (Boolean)
- prints embedded objects
- PrintDrawing (Boolean)
- prints draw objects
- PrintDownFirst (Boolean)
- if the contents of a sheet extend across several pages, they are first printed in vertically descending order, and then down the right-hand side.
- PrintFormulas (Boolean)
- prints the formulas instead of the calculated values
- PrintZeroValues (Boolean)
- prints the zero values
Content on this page is licensed under the Public Documentation License (PDL). |