Difference between revisions of "NL/Documentation/BASIC Guide/Charts in Spreadsheets"

From Apache OpenOffice Wiki
Jump to: navigation, search
m
m
Line 12: Line 12:
 
Het volgende voorbeeld geeft weer hoe een diagram wordt gemaakt dat is toegewezen aan enkele celbereiken binnen een werkblad:
 
Het volgende voorbeeld geeft weer hoe een diagram wordt gemaakt dat is toegewezen aan enkele celbereiken binnen een werkblad:
  
<source lang="oobas">
+
<syntaxhighlight lang="oobas">
 
Dim Doc As Object
 
Dim Doc As Object
 
Dim Diagrammen As Object
 
Dim Diagrammen As Object
Line 33: Line 33:
  
 
Diagrammen.addNewByName("MijnDiagram", Recht, CelBereik(), True, True)
 
Diagrammen.addNewByName("MijnDiagram", Recht, CelBereik(), True, True)
</source>
+
</syntaxhighlight>
  
 
Hoewel de gebruikte code in het voorbeeld complex lijkt te zijn, zijn de centrale bewerkingen beperkt tot drie regels: de eerste centrale regel maakt de documentvariabele <tt>Doc</tt>, die verwijst naar het huidige werkbladdocument (regel <tt>Doc</tt> = <tt>StarDesktop.CurrentComponent</tt>). De gebruikte code in het voorbeeld maakt dan een lijst die alle diagrammen van het eerste werkblad bevat (regel <tt>Diagrammen</tt> = <tt>Doc.Sheets(0).Charts</tt>). Tenslotte wordt een nieuw diagram toegevoegd aan de laatste regel van de lijst met behulp van de methode <tt>addNewByName</tt>. Dit nieuwe diagram is dan zichtbaar voor de gebruiker. De variabele <tt>RangeAddress</tt> bepaalt het toegewezen celbereik waarvan de gegevens in het diagram zullen worden weergegeven. De variabele <tt>Recht</tt> bepaalt de positie en grootte van het diagram op het eerste blad van het werkbladdocument.  
 
Hoewel de gebruikte code in het voorbeeld complex lijkt te zijn, zijn de centrale bewerkingen beperkt tot drie regels: de eerste centrale regel maakt de documentvariabele <tt>Doc</tt>, die verwijst naar het huidige werkbladdocument (regel <tt>Doc</tt> = <tt>StarDesktop.CurrentComponent</tt>). De gebruikte code in het voorbeeld maakt dan een lijst die alle diagrammen van het eerste werkblad bevat (regel <tt>Diagrammen</tt> = <tt>Doc.Sheets(0).Charts</tt>). Tenslotte wordt een nieuw diagram toegevoegd aan de laatste regel van de lijst met behulp van de methode <tt>addNewByName</tt>. Dit nieuwe diagram is dan zichtbaar voor de gebruiker. De variabele <tt>RangeAddress</tt> bepaalt het toegewezen celbereik waarvan de gegevens in het diagram zullen worden weergegeven. De variabele <tt>Recht</tt> bepaalt de positie en grootte van het diagram op het eerste blad van het werkbladdocument.  
Line 39: Line 39:
 
Het voorgaande voorbeeld maakt een staaf-diagram. Als een ander type diagram nodig is, moet het staaf-diagram expliciet worden vervangen:
 
Het voorgaande voorbeeld maakt een staaf-diagram. Als een ander type diagram nodig is, moet het staaf-diagram expliciet worden vervangen:
  
<source lang="oobas">
+
<syntaxhighlight lang="oobas">
 
Diagram = Diagrammen.getByName("MijnDiagram").embeddedObject
 
Diagram = Diagrammen.getByName("MijnDiagram").embeddedObject
 
Diagram.Diagram = Diagram.createInstance("com.sun.star.chart.LineDiagram")
 
Diagram.Diagram = Diagram.createInstance("com.sun.star.chart.LineDiagram")
</source>
+
</syntaxhighlight>
  
 
De eerste regelt definieert het overeenkomstige diagramobject. De tweede regel vervangt het huidige diagram door een nieuw – in dit voorbeeld, een lijn-diagram.
 
De eerste regelt definieert het overeenkomstige diagramobject. De tweede regel vervangt het huidige diagram door een nieuw – in dit voorbeeld, een lijn-diagram.

Revision as of 13:10, 31 December 2019

Book.png


Diagrammen binnen werkbladen kunnen de gegevens weergeven uit een toegewezen celbereik binnen het werkblad. Wijzigingen aan de gegevens in het werkblad zullen ook zichtbaar zijn in het toegewezen diagram. Het volgende voorbeeld geeft weer hoe een diagram wordt gemaakt dat is toegewezen aan enkele celbereiken binnen een werkblad:

Dim Doc As Object
Dim Diagrammen As Object
Dim Diagram as Object
Dim Recht As New com.sun.star.awt.Rectangle
Dim CelBereik(0) As New com.sun.star.table.CellRangeAddress
 
Doc = ThisComponent
Diagrammen = Doc.Sheets(0).Charts
 
Recht.X = 8000
Recht.Y = 1000
Recht.Width = 10000
Recht.Height = 7000
CelBereik(0).Sheet = 0
CelBereik(0).StartColumn = 0 
CelBereik(0).StartRow = 0
CelBereik(0).EndColumn = 2
CelBereik(0).EndRow = 12
 
Diagrammen.addNewByName("MijnDiagram", Recht, CelBereik(), True, True)

Hoewel de gebruikte code in het voorbeeld complex lijkt te zijn, zijn de centrale bewerkingen beperkt tot drie regels: de eerste centrale regel maakt de documentvariabele Doc, die verwijst naar het huidige werkbladdocument (regel Doc = StarDesktop.CurrentComponent). De gebruikte code in het voorbeeld maakt dan een lijst die alle diagrammen van het eerste werkblad bevat (regel Diagrammen = Doc.Sheets(0).Charts). Tenslotte wordt een nieuw diagram toegevoegd aan de laatste regel van de lijst met behulp van de methode addNewByName. Dit nieuwe diagram is dan zichtbaar voor de gebruiker. De variabele RangeAddress bepaalt het toegewezen celbereik waarvan de gegevens in het diagram zullen worden weergegeven. De variabele Recht bepaalt de positie en grootte van het diagram op het eerste blad van het werkbladdocument.

Het voorgaande voorbeeld maakt een staaf-diagram. Als een ander type diagram nodig is, moet het staaf-diagram expliciet worden vervangen:

Diagram = Diagrammen.getByName("MijnDiagram").embeddedObject
Diagram.Diagram = Diagram.createInstance("com.sun.star.chart.LineDiagram")

De eerste regelt definieert het overeenkomstige diagramobject. De tweede regel vervangt het huidige diagram door een nieuw – in dit voorbeeld, een lijn-diagram.

Documentation note.png VBA : In Microsoft Excel wordt onderscheid gemaakt tussen diagrammen die als een afzonderlijke pagina zijn ingevoegd in een document van Microsoft Excel en diagrammen welke ingebed zijn in een tabelpagina. Daarmee overeenkomend zijn daarin twee verschillende toegangsmethoden gedefinieerd voor diagrammen. Dit onderscheid wordt niet gemaakt in Apache OpenOffice BASIC, omdat diagrammen in Apache OpenOffice Calc altijd zijn gemaakt als ingebedde objecten van een tabelpagina. De diagrammen zijn altijd toegankelijk met behulp van de lijst Charts van het geassocieerde object Sheet.


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