Crea nuovo intervallo di database

From The Document Foundation Wiki
< Macros‎ | Calc
Jump to navigation Jump to search
This page is a translated version of the page Macros/Calc/ba022 and the translation is 100% complete.
Other languages:
English • ‎italiano

Questa pagina fornisce una procedura macro di LibreOffice Basic che crea un nuovo intervallo di database che fa riferimento a $Foglio1.$A$1:$F$10. È un esempio tratto dal Capitolo 13 ("Calc come database") della Guida 7.0 Calc.

Descrizione

In una macro, viene creato, accessibile e poi eliminato un intervallo di database utilizzando il servizio DatabaseRanges. Questo servizio ha molti degli stessi metodi del servizio NamedRanges, ma manca del metodo addNewFromTitles. DatabaseRanges utilizza anche una versione ridotta del metodo addNewByName che manca di argomenti per un relativo indirizzo di base e tipo di intervallo:

addNewByName(Nome, Intervallo)
Aggiungete un nuovo intervallo di database al documento corrente.

Come esempio di creazione di un intervallo utilizzando questo metodo, la macro seguente crea un intervallo di database denominato MyName e applica automaticamente i filtri automatici a ciascuna delle colonne dell'intervallo:

Codice

 1Sub AddNewDatabaseRange()
 2  Dim oRange 'oggetto DatabaseRange.
 3  Dim oAddr  'Intervallo di indirizzi di cella per l'intervallo di database.
 4  Dim oSheet 'Primo foglio, che conterrà l'intervallo.
 5  Dim oDoc   'Fare riferimento a ThisComponent con un nome più breve.
 6
 7  oDoc = ThisComponent
 8  If NOT oDoc.DatabaseRanges.hasByName("MyName") Then
 9    oSheet = ThisComponent.getSheets().getByIndex(0)
10    oRange = oSheet.getCellRangeByName("A1:F10")
11    oAddr = oRange.getRangeAddress()
12    oDoc.DatabaseRanges.addNewByName("MyName", oAddr)
13  End If
14  oRange = oDoc.DatabaseRanges.getByName("MyName")
15  oRange.AutoFilter = True
16End Sub

Questo foglio di calcolo Calc contiene il codice soprastante Basic di LibreOffice.