Utilizzo di riferimenti relativi con espressioni con nome
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Riepilogo
Questa pagina fornisce una procedura macro di LibreOffice Basic che illustra l'uso di riferimenti relativi con espressioni denominate. È un esempio tratto dal Capitolo 13 ("Calc come database") della Guida 7.0 Calc.
Descrizione
Se un intervallo denominato utilizza indirizzi di cella non assoluti, questi indirizzi verranno referenziati in relazione all'indirizzo di base dell'intervallo, definito dal terzo argomento del metodo addNewByName, Position. Questo comportamento è illustrato nel codice seguente, dove la macro AddNamedFunction crea l'espressione denominata AddLeft. Questa espressione fa riferimento all'equazione A3+B3 con C3 come indirizzo di base. Poiché vengono utilizzati riferimenti relativi, AddLeft somma i valori delle due celle direttamente a sinistra di qualsiasi cella contenente la formula "=AddLeft". Ad esempio, se si fa riferimento a AddLeft nella cella E5, verranno sommati i valori in C5 e D5 (si veda foglio di calcolo collegato).
Codice
Sub AddNamedFunction()
Dim oSheet 'Foglio che contiene l'intervallo oRange.
Dim oCellAddress 'Indirizzo per i relativi riferimenti.
Dim oRanges 'La proprietà NamedRanges.
Dim oRange 'Gamma di celle singole.
Dim sName As String 'Nome dell'equazione da creare.
sName = "AddLeft"
oRanges = ThisComponent.NamedRanges
If NOT oRanges.hasByName(sName) Then
oSheet = ThisComponent.getSheets().getByIndex(0)
oRange = oSheet.getCellRangeByName("C3")
oCellAddress = oRange.getCellAddress()
oRanges.addNewByName(sName, "A3+B3", oCellAddress, 0)
End If
End Sub
Questo Foglio di calcolo Calc contiene il codice soprastante Basic di LibreOffice.