Cómo cerrar un cuadro de diálogo usando macros

Hola, he creado un cuadro de diálogo y he asignado a un botón el macro Cerrar_Dialogo(). (muestro el código abajo). Sin embargo, cuando pulso el botón, muestra el mensaje, pero no se cierra el diálogo.

Si en lugar de el código que muestro abajo en Cerrar_Dialogo() sólo escribo “oDiaologo.EndExecute”, me aparece el siguiente mensaje de error: “Error de Ejecución de Basic. Variable de Objeto no establecida”


Sub Mostrar_Dialogo ()
Dim oDialogo As Object

 DialogLibraries.LoadLibrary( "Standard" )
 oDialogo = CreateUnoDialog( DialogLibraries.Standard.getByName("input") )
 oDialogo.execute()
 oDialogo.dispose()

End Sub

Sub Cerrar_Dialogo()

msgbox ("HOLA")
Dim oDialogo As Object
oDialogo = CreateUnoDialog(DialogLibraries.getByName("Standard").getByName("input"))

If Not IsNull(oDialogo) Then
    oDialogo.EndExecute()
End If

End Sub

Dim dlg As Object

Sub Main()
	 dlg = CreateUnoDialog(DialogLibraries.Standard.getByName("Dialog1"))
	 dlg.execute()
	 dlg.dispose()
End Sub

Sub close_dialog()
	dlg.endExecute()
End Sub
1 Like

Funciona, y veo que tiene que ver con el lugar donde se declara el objeto. Muchas gracias por la respuesta. Me ha sido de gran ayuda