Crea nuovo intervallo di database

    From The Document Foundation Wiki
    < Macros‎ | Calc
    This page is a translated version of the page Macros/Calc/ba022 and the translation is 100% complete.


    Other languages:

    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

    Sub AddNewDatabaseRange()
      Dim oRange 'oggetto DatabaseRange.
      Dim oAddr  'Intervallo di indirizzi di cella per l'intervallo di database.
      Dim oSheet 'Primo foglio, che conterrà l'intervallo.
      Dim oDoc   'Fare riferimento a ThisComponent con un nome più breve.
    
      oDoc = ThisComponent
      If NOT oDoc.DatabaseRanges.hasByName("MyName") Then
        oSheet = ThisComponent.getSheets().getByIndex(0)
        oRange = oSheet.getCellRangeByName("A1:F10")
        oAddr = oRange.getRangeAddress()
        oDoc.DatabaseRanges.addNewByName("MyName", oAddr)
      End If
      oRange = oDoc.DatabaseRanges.getByName("MyName")
      oRange.AutoFilter = True
    End Sub

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