Macros/Calc/ba022/es
TDF LibreOffice Document Liberation Project Blogs comunitarios Weblate Nextcloud Redmine Ask LibreOffice Donar
Resumen:
Esta página proporciona una macro de LibreOffice Basic que crea una nueva referencia al intervalo de base de datos $Sheet1.$A$1:$F$10. Es un ejemplo extraído del Capítulo 13 ("Calc como base de datos") de la guía de Calc 7.0.
Descripción
Para acceder, crear o borrar un intervalo de base de datos, se utiliza el servicio DatabaseRanges. Este servicio, tiene varios métodos en común con el servicio NamedRanges pero adolece del método addNewFromTitles. DatabaseRanges tambien utiliza una versión reducida del método addNewByName que no contiene los argumentos para dirección relativa base y tipo de intervalo:
- addNewByName(Nombre, Intervalo)
- Aggrga un nuevo intervalo de base de datos al documento actual.
La siguiente macro crea un intervalo de base de datos con nombre MyName y aplica automáticamente filtros automáticos en cada una de las columnas del intervalo:
Código
Sub AddNewDatabaseRange()
Dim oRange 'objet DatabaseRange
Dim oAddr 'Dirección del intervalo de celdas para el intervalo de base de datos.
Dim oSheet 'Hoja, que contiene el intervalo
Dim oDoc 'Referencia a ThisComponent con un nombre más corto
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
Este documento de Calc contiene la macro LibreOffice Basic.