Jump to content

Macros/Calc/ba022/es

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


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.