Formularios (c). Calc
- Para su funcionamiento se requiere declarar previamente las variables siguientes:
Dim oHojaActiva As Object, oPaginaDibujo As Object
Dim oFormularios As Object, oFormulario As Object
- Primero accedemos a la hoja de cálculo en la que se encuentra el formulario
oHojaActiva = ThisComponent.getCurrentController.getActiveSheet()
- A continuación accedemos a la capa de dibujo o capa gráfica
oPaginaDibujo = oHojaActiva.getDrawPage()
- Seguidamente accedemos al conjunto de formularios que pude contener la capa de dibujo
oFormularios = oPaginaDibujo.getForms()
- Y finalmente accedemos a un formulario en concreto, bien por el índice, bien por el nombre
oFormulario = oFormularios.getByIndex() -> Acceso por el índice
oFormulario = oFormularios.getByName(""frmCalcEj") -> Acceso por el nombre
Esta es la primera forma necesaria para acceder a los controles y a sus contenidos, pero no la única, ya que en Calc es posible acceder a ese contenido accediendo al contenido de las celdas con las que directamente se asocian los controles (algunos de ellos, que no todos), asociación que se realiza en la misma configuración de los controles desde Propiedades del control | Datos | Celda enlazada. En este caso el procedimiento es el mismo que el que desarrollamos para acceder al contenido de una celda.
Dim oHojaActiva As Object, oCelda As Object
Dim sContenido As String
oHojaActiva = ThisComponent.getCurrentController.getActiveShee()
oCelda = oHojaActiva.getCellRangeByName("E3")
sContenido = oCelda.getString()
Pero como esto nos lleva a la segunda parte del proceso, lo iremos viendo en su momento.