Llevo un tiempo queriendo mostrar en un formulario un valor resultado de la operación aritmética de otros campos del formulario, pero no doy con la tecla. A ver si me podéis ayudar.
Buscando por Internet he visto que se puede hacer con una macro. No manejo el lenguaje ooBasic, pero buscando aquí y allá he creado la macro que os pongo. Pero me da el siguiente error: "Error de ejecución de BASIC. No se encontró la propiedad o el método: getActiveSheet." El error parece bastante evidente, no encuentra el método getActiveSheet(), pero he probado otros métodos y ninguno funciona. En cada sitio encuentro una sintaxis diferente...
Hay alguna otra forma de hacer lo que quiero, con macros o sin macros?. Y si es con macros, donde puedo encontrar un listado actualizado de los métodos... ? Creo que lo que pretendo hacer debe ser bastante habitual y esperaba poder resolverlo con facilidad, pero se me está complicando el camino.
Código: Seleccionar todo
Sub Main
Dim Originales
Dim Copias
Dim Total
Dim ControlOriginales
Dim ControlCopias
Dim Formulario
For I = 0 To ThisComponent.getCurrentController.getActiveSheet().getDrawPage().getForms().getCount() - 1
Formulario = ThisComponent.getCurrentController.getActiveSheet().getDrawPage().getForms().GetByIndex(I)
If (Formulario.HasByName("fmtOriginales")) Then
ControlOriginales = Formulario.GetByName("fmtOriginales")
End If
If (Formulario.HasByName("fmtCopias")) Then
ControlCopias = Formulario.GetByName("fmtCopias")
End If
Next I
If (ControlOriginales.Text = "") Then
Originales = 0
Else
Originales = Int(ControlOriginales.Text)
End If
If (ControlCopias.Text = "") Then
Copias = 0
Else
Copias = Int(ControlCopias.Text)
End If
Total = Originales * Copias
totalFotocopias.Text = Str(Total)
End Sub