Difference between revisions of "NL/Documentation/BASIC Guide/Structure of Spreadsheets"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 53: Line 53:
 
=== Bladen hernoemen ===
 
=== Bladen hernoemen ===
  
A sheet provides methods <code>getName</code> and <code>setName</code> to read and modify its name. Basic can handle both methods like a property <code>Name</code>. Here we rename the first sheet of the spreadsheet document.
+
Een blad verschaft de methoden <code>getName</code> en <code>setName</code> om  zijn naam te lezen en aan te passen. BASIC kan beide methoden behandelen als een de eigenschap <code>Name</code>. Hier geven we het eerste blad van het werkbladdocument een andere naam.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 61: Line 61:
 
Doc = ThisComponent
 
Doc = ThisComponent
 
Sheet = Doc.Sheets(0)
 
Sheet = Doc.Sheets(0)
Sheet.Name = "First"
+
Sheet.Name = "Eerste"
 
</source>
 
</source>
  
  
=== Creating and Deleting Sheets ===
+
=== Bladen maken en verwijderen ===
  
The <tt>Sheets</tt> container of a <tt>spreadsheet</tt> document is also used to create and delete individual sheets. The following example uses the <tt>hasByName</tt> method to check if a sheet called '''MySheet''' exists. If it does, the method determines a corresponding object reference by using the <tt>getByName</tt> method and then saves the reference in a variable in <tt>Sheet</tt>. If the corresponding sheet does not exist, it is created by the <tt>createInstance</tt> call and inserted in the spreadsheet document by the <tt>insertByName</tt> method.
+
De container <tt>Sheets</tt> van een <tt>werkblad</tt>-document wordt gebruikt om individuele bladen te maken en te verwijderen. Het volgende voorbeeld gebruikt de methode <tt>hasByName</tt> om te controleren of een blad, genaamd '''MijnBlad''' bestaat. Als dat niet het geval is bepaalt de methode een overeenkomstige verwijzing naar het object door de methode <tt>getByName</tt> te gebruiken en slaat dan de verwijzing op in een variabele in <tt>Blad</tt>. Als het overeenkomstige blad niet bestaat wordt het gemaakt met behulp van de aanroep <tt>createInstance</tt> en ingevoegd in het werkbladdocument door de methode <tt>insertByName</tt>.
  
 
<source lang="oobas">
 
<source lang="oobas">
 
Dim Doc As Object
 
Dim Doc As Object
Dim Sheet As Object
+
Dim Blad As Object
  
 
Doc = ThisComponent
 
Doc = ThisComponent
  
If Doc.Sheets.hasByName("MySheet") Then
+
If Doc.Sheets.hasByName("MijnBlad") Then
   Sheet = Doc.Sheets.getByName("MySheet")
+
   Blad = Doc.Sheets.getByName("MijnBlad")
 
Else
 
Else
   Sheet = Doc.createInstance("com.sun.star.sheet.Spreadsheet")
+
   Blad = Doc.createInstance("com.sun.star.sheet.Spreadsheet")
   Doc.Sheets.insertByName("MySheet", Sheet)
+
   Doc.Sheets.insertByName("MijnBlad", Blad)
 
End If
 
End If
 
</source>
 
</source>
  
The <tt>hasByName</tt>, <tt>getByName</tt> and <tt>insertByName</tt> methods are obtained from the <idl>com.sun.star.container.XNameContainer</idl> interface as described in [[Documentation/BASIC Guide/API Intro|Introduction to the API]].
+
De methoden <tt>hasByName</tt>, <tt>getByName</tt> en <tt>insertByName</tt> worden verkregen uit de interface <idl>com.sun.star.container.XNameContainer</idl> zoals neschreven in [[NL/Documentation/BASIC Guide/API Intro|Introductie tot de API]].
  
The interface <idl>com.sun.star.sheet.Spreadsheets</idl> provides a better method to create a new sheet: <code>insertNewByName</code>.
+
De interface <idl>com.sun.star.sheet.Spreadsheets</idl> verschaft een betere methode om een nieuw blad te maken: <code>insertNewByName</code>.
It inserts a new sheet with the name specified by the first argument, at the position specified by the second argument.
+
Het voegt een nieuw blad in met de door het eerste argument gespecificeerde naam, op de door het tweede argument gespecificeerde positie.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 93: Line 93:
 
Doc = ThisComponent
 
Doc = ThisComponent
  
Doc.Sheets.insertNewByName("OtherSheet", 2)
+
Doc.Sheets.insertNewByName("AnderBlad", 2)
 
</source>
 
</source>
  
The same interface provides methods <code>moveByName</code> and <code>copyByName</code>.
+
Dezelfde interface verschaft de methoden <code>moveByName</code> en <code>copyByName</code>.
  
The <idl>com.sun.star.container.XNameContainer</idl> interface provides a method to remove a sheet of a given name:
+
De interface <idl>com.sun.star.container.XNameContainer</idl> verschaft een methode om een blad met een bepaalde naam te verwijderen:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 105: Line 105:
 
Doc = ThisComponent
 
Doc = ThisComponent
  
Doc.Sheets.removeByName("OtherSheet")
+
Doc.Sheets.removeByName("AnderBlad")
 
</source>
 
</source>
  

Revision as of 12:35, 2 March 2013

Book.png

Het document-object van een werkbladdocument is gebaseerd op de service com.sun.star.sheet.SpreadsheetDocument. Elk van deze documenten kan meerdere werkbladen bevatten. In deze gids is een tabel-gebaseerd document of werkbladdocument het gehele document, waar een werkblad (of afgekort: blad ) een werkblad (tabel) in het document is.

Documentation note.png VBA : Voor werkbladdocumenten en hun inhoud wordt in VBA en Apache OpenOffice BASIC een verschillende terminologie gebruikt. Waar het documentobject in VBA een Workbook wordt genoemd en de individuele pagina's Worksheets, worden zij SpreadsheetDocument en Sheet genoemd in Apache OpenOffice BASIC.


Werkbladen

U kunt de individuele werkbladen van een werkbladdocument benaderen via de lijst Sheets.

Het volgende voorbeeld toont u hoe u een werkblad kunt benaderen, ofwel via zijn nummer ofwel via zijn naam.

Voorbeeld 1: toegang door middel van het nummer (nummering begint met 0)

Dim Doc As Object
Dim Sheet As Object
 
Doc = ThisComponent
Sheet = Doc.Sheets (0)

Template:Documentation/Note

Voorbeeld 2: toegang door middel van de naam

Dim Doc As Object
Dim Sheet As Object
 
Doc = ThisComponent
Sheet = Doc.Sheets.getByName("Blad 1")

In het eerste voorbeeld wordt toegang tot het werkblad verkregen via zijn nummer (nummering begint bij 0). In het tweede voorbeeld wordt toegang tot het werkblad verkregen via zijn naam en de methode getByName.

Het object Sheet dat wordt verkregen door de methode getByName ondersteunt de service com.sun.star.sheet.Spreadsheet. In aanvulling op het verschaffen van verschillende interfaces voor het bewerken van de inhoud, verschaft deze service de volgende eigenschappen:

IsVisible (Boolean)
waarde True als het werkblad zichtbaar is.
PageStyle (String)
naam van het opmaakprofiel voor de pagina van het werkblad.

Bladen hernoemen

Een blad verschaft de methoden getName en setName om zijn naam te lezen en aan te passen. BASIC kan beide methoden behandelen als een de eigenschap Name. Hier geven we het eerste blad van het werkbladdocument een andere naam.

Dim Doc As Object
Dim Sheet As Object
 
Doc = ThisComponent
Sheet = Doc.Sheets(0)
Sheet.Name = "Eerste"


Bladen maken en verwijderen

De container Sheets van een werkblad-document wordt gebruikt om individuele bladen te maken en te verwijderen. Het volgende voorbeeld gebruikt de methode hasByName om te controleren of een blad, genaamd MijnBlad bestaat. Als dat niet het geval is bepaalt de methode een overeenkomstige verwijzing naar het object door de methode getByName te gebruiken en slaat dan de verwijzing op in een variabele in Blad. Als het overeenkomstige blad niet bestaat wordt het gemaakt met behulp van de aanroep createInstance en ingevoegd in het werkbladdocument door de methode insertByName.

Dim Doc As Object
Dim Blad As Object
 
Doc = ThisComponent
 
If Doc.Sheets.hasByName("MijnBlad") Then
   Blad = Doc.Sheets.getByName("MijnBlad")
Else
   Blad = Doc.createInstance("com.sun.star.sheet.Spreadsheet")
   Doc.Sheets.insertByName("MijnBlad", Blad)
End If

De methoden hasByName, getByName en insertByName worden verkregen uit de interface com.sun.star.container.XNameContainer zoals neschreven in Introductie tot de API.

De interface com.sun.star.sheet.Spreadsheets verschaft een betere methode om een nieuw blad te maken: insertNewByName. Het voegt een nieuw blad in met de door het eerste argument gespecificeerde naam, op de door het tweede argument gespecificeerde positie.

Dim Doc As Object
 
Doc = ThisComponent
 
Doc.Sheets.insertNewByName("AnderBlad", 2)

Dezelfde interface verschaft de methoden moveByName en copyByName.

De interface com.sun.star.container.XNameContainer verschaft een methode om een blad met een bepaalde naam te verwijderen:

Dim Doc As Object
 
Doc = ThisComponent
 
Doc.Sheets.removeByName("AnderBlad")


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