[RESUELTO] Paso de datos entre Diálogos.

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Chelo2
Mensajes: 103
Registrado: Mié Ago 14, 2013 4:25 am
Ubicación: Lomas de Zamora, Buenos Aires, Argentina

[RESUELTO] Paso de datos entre Diálogos.

Mensaje por Chelo2 »

Hola amigos!!

Tengo un diálogo a través del cual cargo datos en una hoja de Calc. El tema es que como tengo una serie de opciones numerosas que no me entran en un mismo diálogo, quiero ponerlas en un segundo diálogo y que el resultado de la elección se pase un cuadro de texto del primer diálogo.

Para probar esto, hice un ejemplo sencillo, donde quiero simplemente pasar el dato que cargo en un cuadro de texto del segundo dialogo a otro cuadro de texto del primero, pero no puedo dar en la tecla de como hacerlo.

Seguramente debe ser una pavada, pero como sólo soy aficionado a esto de las macros, me encuentro con limitaciones al momento de querer resolver estos inconvenientes.

Por lo que veo tengo algún problema con la declaración de las variables que no me doy cuenta, ya que me cuesta referenciar los distintos elementos de los cuadro de diálogo diferentes.

Subo un pequeño ejemplo por si alguien me puede ayudar con este tema. Parecería una cosa simple lo que quiero hacer, pero ya se me quemó la cabeza.. jajaja

Muchas gracias.

Chelo2
Adjuntos
Datos entre Dialogos.ods
(11.59 KiB) Descargado 89 veces
Última edición por Chelo2 el Mar Abr 15, 2014 9:04 pm, editado 1 vez en total.
OpenOffice 4.1.3 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Paso de datos entre Diálogos.

Mensaje por mauricio »

Si, tienes bastante confusión con las variables, usando su "ambito" correcto, todo se arregla:

Código: Seleccionar todo

REM  *****  BASIC  *****

OPTION EXPLICIT

Dim sDato As String
Dim oDialogo2 as object
Dim oDialogo1 as object


Sub Abre_DG_Form1
'Dim oDialogo1 As Object
Dim oHoja As Object

	oHoja = ThisComponent.getSheets().getByName("Hoja1")

	'Cargo la libreria del primer cuadro de dialogo
	DialogLibraries.LoadLibrary( "Standard" )
	oDialogo1 = CreateUnoDialog( DialogLibraries.Standard.DG_Form1 )

	oDialogo1.execute()
	oDialogo1.dispose()

End Sub


Sub Abre_DG_Form2
'Dim oDialogo2 As Object

	'Cargo la libreria del primer cuadro de dialogo
	DialogLibraries.LoadLibrary( "Standard" )
	oDialogo2 = CreateUnoDialog( DialogLibraries.Standard.DG_Form2 )

	oDialogo2.execute()
	oDialogo2.dispose()

End Sub


'_____________________

'Global sDato As String

Sub PasaDatos


	'CARGO EN LA VARIABLE EL DATO QUE FIGURA EN EL TEXFIELD2 DEL DIALOGO DG_FORM2	
	sDato = oDialogo2.Model.TextField1.Text

	'sDato= "HOLA"
	MsgBox "El dato que pasa al primer cuadro es:" & sDato

	'VUELCO EL VALOR DE LA VARIABLE AL TEXTFIELD1 DEL DIALOGO DG_FORM1
	oDialogo1.Model.TextField1.Text = sDato
	'oControl = oDialogo1.getControl("TextField1")
	'oControl.setText (sDato)
	
	Cerrar_DG_Form2

End sub


Sub Cerrar_DG_Form2

	oDialogo2.EndExecute ()
End Sub
Hay mucha y buena documentación para esto, te sugiero darle una buena leída al wiki de OpenOffice de esto, si no tienes claro esto, tu avance será frustrante... el manejo de variables es vital...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Chelo2
Mensajes: 103
Registrado: Mié Ago 14, 2013 4:25 am
Ubicación: Lomas de Zamora, Buenos Aires, Argentina

[RESUELTO] Paso de datos entre Diálogos.

Mensaje por Chelo2 »

Muchas gracias Mauricio!!!!!

Es lo que estaba buscandooo..

Un abrazo desde Buenos Aires, Argentina.

Chelo2
OpenOffice 4.1.3 en Windows 7
Responder