Macros/Calc/ba021/es

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


    Other languages:

    Resumen:

    Esta página proporciona un procedimiento de macro de LibreOffice Basic que crea intervalos con nombre a partir de etiquetas. Es un ejemplo extraído del Capítulo 13 ("Calc como base de datos") de la Guía de Calc 7.0.

    Descripción

    Además de utilizar el diálogo Crear nombres (al que se accede seleccionando Hoja ▸ Intervalos y expresiones con nombre ▸ Crear en la barra de menú), los intervalos con nombre se pueden generar a partir de etiquetas mediante la macro addNewFromTitles:

    addNewFromTitles(Origen, Borde)
    Crea intervalos con nombre a partir de encabezados de columna o fila. Este método tiene dos argumentos:
    • Origen: la dirección del intervalo de celdas del intervalo con nombre que se va a crear.
    • Borde: es un valor de enumeración que especifica la ubicación de las etiquetas de encabezado. Esta enumeración tiene uno de los cuatro valores posibles, enumerados en la siguiente tabla:
    com.sun.star.sheet.Border enumeration values
    Enumerador Descripción
    TOP Selecciona la fila del borde superior.
    BOTTOM Selecciona la fila del borde inferior.
    RIGHT Selecciona la columna del borde derecho.
    LEFT Selecciona la columna del borde izquierdo.


    Tip.svg

    Consejo:
    Para generar nombres a partir de varios bordes, debe llamar a addNewFromTitles para cada fila o columna de encabezado que desee utilizar.


    Tip.svg

    Consejo:
    Evite dar a varias filas o columnas la misma etiqueta, ya que los rangos generados a partir de ellas también compartirán el mismo nombre y Calc puede terminar sobrescribiéndolos.


    La siguiente macro crea tres intervalos con nombre usando encabezados de la fila superior del rango de celdas A1: C20. Los intervalos resultantes aparecerán en el cuadro de diálogo Administrar nombres, al que se puede acceder seleccionando Hoja ▸ Intervalos y expresiones con nombre ▸ Administrar en la barra de menú o presionando Ctrl+F3.

    Código

    Sub AddManyNamedRanges()
      Dim oSheet    'Hoja que contiene el intervalo con nombre
      Dim oAddress  'Dirección del intervalo
      Dim oRanges   'La propiedad NamedRanges (nombres de intervalos).
      Dim oRange    'Intervalo de una sola celda
    
      oRanges = ThisComponent.NamedRanges
      oSheet = ThisComponent.getSheets().getByIndex(0)
    
      oRange = oSheet.getCellRangeByName("A1:C20")
      oAddress = oRange.getRangeAddress()
      oRanges.addNewFromTitles(oAddress, com.sun.star.sheet.Border.TOP)
    End Sub

    Esta Hoja de cálculo Calc contiene el código de LibreOffice Basic anterior.