De structuur van werkbladdocumenten
- De structuur van werkbladdocumenten
- Werkbladdoucmenten bewerken
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.
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)
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
A sheet provides methods getName
and setName
to read and modify its name. Basic can handle both methods like a property Name
. Here we rename the first sheet of the spreadsheet document.
Dim Doc As Object Dim Sheet As Object Doc = ThisComponent Sheet = Doc.Sheets(0) Sheet.Name = "First"
Creating and Deleting Sheets
The Sheets container of a spreadsheet document is also used to create and delete individual sheets. The following example uses the hasByName method to check if a sheet called MySheet exists. If it does, the method determines a corresponding object reference by using the getByName method and then saves the reference in a variable in Sheet. If the corresponding sheet does not exist, it is created by the createInstance call and inserted in the spreadsheet document by the insertByName method.
Dim Doc As Object Dim Sheet As Object Doc = ThisComponent If Doc.Sheets.hasByName("MySheet") Then Sheet = Doc.Sheets.getByName("MySheet") Else Sheet = Doc.createInstance("com.sun.star.sheet.Spreadsheet") Doc.Sheets.insertByName("MySheet", Sheet) End If
The hasByName, getByName and insertByName methods are obtained from the com.sun.star.container.XNameContainer interface as described in Introduction to the API.
The interface com.sun.star.sheet.Spreadsheets provides a better method to create a new sheet: insertNewByName
.
It inserts a new sheet with the name specified by the first argument, at the position specified by the second argument.
Dim Doc As Object Doc = ThisComponent Doc.Sheets.insertNewByName("OtherSheet", 2)
The same interface provides methods moveByName
and copyByName
.
The com.sun.star.container.XNameContainer interface provides a method to remove a sheet of a given name:
Dim Doc As Object Doc = ThisComponent Doc.Sheets.removeByName("OtherSheet")
Content on this page is licensed under the Public Documentation License (PDL). |