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 vooraf gedefinieerde opmaken voor datum en tijd. 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("Standaard") 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 linkerrand van de pagina (structuur com.sun.star.table.BorderLine)
- RightBorder (struct)
- specificaties voor rechterrand 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 linkerrand van de pagina en de inhoud van de pagina in 100-en van een millimeter
- RightBorderDistance (long)
- afstand tussen de rechterrand 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 gebied van de inhoud van de pagina (structuur com.sun.star.table.ShadowFormat)
Het volgende voorbeeld stelt de linker- en rechterrand 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 linkerrand van het kader rondom de koptekst (structuur com.sun.star.table.BorderLine )
- HeaderRightBorder (struct)
- details van de rechterrand 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 linkerrand en de inhoud van de koptekst in 100-en van een millimeter
- HeaderRightBorderDistance (long)
- afstand tussen de rechterrand 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 linkerrand van het kader rondom de voettekst (structuur com.sun.star.table.BorderLine )
- FooterRightBorder (struct)
- details van de rechterrand 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 linkerrand en de inhoud van de voettekst in 100-en van een millimeter
- FooterRightBorderDistance (long)
- afstand tussen de rechterrand 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.
Een ander mechanisme voor het wijzigen van de tekst van kop- of voetteksten is beschikbaar voor tekstdocumenten ((Apache OpenOffice Writer) omdat die bestaan uit één enkel blok van tekst. De volgende eigenschappen worden gedefinieerd in de service com.sun.star.style.PageProperties:
- HeaderText (Object)
- tekstobject met de inhoud van de koptekst (service com.sun.star.text.XText)
- HeaderTextLeft (Object)
- tekstobject met de inhoud van de koptekst voor linkerpagina's (service com.sun.star.text.XText)
- HeaderTextRight (Object)
- tekstobject met de inhoud van de koptekst voor rechterpagina's (service com.sun.star.text.XText)
- FooterText (Object)
- tekstobject met de inhoud van de voettekst (service com.sun.star.text.XText)
- FooterTextLeft (Object)
- tekstobject met de inhoud van de voettekst voor linkerpagina's (service com.sun.star.text.XText)
- FooterTextRight (Object)
- tekstobject met de inhoud van de voettekst voor rechterpagina's (service com.sun.star.text.XText)
Het volgende voorbeeld maakt een koptekst in het pagina-opmaakprofiel “Standaard” voor tekstdocumenten en voegt de tekst “Alleen een test” aan de koptekst toe.
Dim Doc As Object Dim Blad As Object Dim Opmaakprofielen As Object Dim PaginaOpmaakprofielen As Object Dim DefPagina As Object Dim KopTekst As Object Doc = ThisComponent Opmaakprofielen = Doc.StyleFamilies PaginaOpmaakprofielen = Opmaakprofielen.getByName("PageStyles") DefPagina = PaginaOpmaakprofielen.getByName("Standaard") DefPagina.HeaderIsOn = True KopTekst = DefPagina.HeaderText KopTekst.String = "Alleen een test."
In dit geval wordt directe toegang verschaft via de eigenschap HeaderText van het pagina-opmaakprofiel in plaats van via het object HeaderFooterContent.
Centreren (alleen voor werkbladdocumenten)
De service com.sun.star.sheet.TablePageStyle wordt alleen gebruikt in paginaopmaak voor Apache OpenOffice Calc en stelt u in staat celbereiken die u wilt afdrukken te centreren op de pagina. Deze service verschaft de volgende eigenschappen:
- CenterHorizontally (Boolean)
- tabelinhoud wordt horizontaal gecentreerd
- CenterVertically (Boolean)
- tabelinhoud wordt verticaal gecentreerd
Definitie van af te drukken elementen (alleen voor werkbladdocumenten)
Als u werkbladen opmaakt kunt u definiëren of elementen van de pagina zichtbaar moeten zijn. Voor dit doel verschaft de service com.sun.star.sheet.TablePageStyle de volgende eigenschappen:
- PrintAnnotations (Boolean)
- drukt notities voor cellen af
- PrintGrid (Boolean)
- drukt de randen van de cellen af
- PrintHeaders (Boolean)
- drukt de rij- en kolomkoppen af
- PrintCharts (Boolean)
- drukt diagrammen af die zijn opgenomen op een blad
- PrintObjects (Boolean)
- drukt ingebedde objecten af
- PrintDrawing (Boolean)
- drukt tekenobjecten af
- PrintDownFirst (Boolean)
- als de inhoud van een blad zich over meerdere pagina's uitstrekt, worden zij eerst afgedrukt in verticaal aflopende volgorde en dan vanaf de rechterkant.
- PrintFormulas (Boolean)
- drukt de formules af in plaats van de berekende waarden
- PrintZeroValues (Boolean)
- drukt nulwaarden af
Content on this page is licensed under the Public Documentation License (PDL). |