Problemas con ThisCompnent.close()

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

Problemas con ThisCompnent.close()

Notapor gustavodiaz00 » Mié Oct 18, 2017 5:43 am

Hola estaba tratando hacer una planilla en la cual al momento de cargarse esta me abriera uncuadro de diálogo y me pregunte si soy usuario habilitado para ingresar, si no la misma se cierra.

Después de buscar bastante encontré dos opciones.

TisComponent.close() True o False y TisComponent.Dispose

Con la opción Dispose se cierra pero cuando lo quiero abrir de nuevo LibreOffice me pone el cuadro de recuperacion del archivo.

Con la opción close(true) también lo cierro pero en la mayor parte de los casos cuando lo quiero abrir LibreOffice me pone el cuadro de recuración del archivo.

Esto sucede cuando es la única planilla abierta.

La única opción viable que encontre es antes de cerrar la planilla creo una en blaco y luego cierro esta.

De esta forma funciona correctamente.

Aca les dejo un ejemplo por si a alguien les interesa o estaban buscando algo parecido.

Para que ejecute la macro cuando carga la planilla, esta se debe selecionar en le menú Herramientas - Personalizar - Abrir Documento.
Adjuntos
Ingreso con Usuario.ods
(10.89 KiB) 48 veces
LibreOffice 5.3.5.2 en opensuse leap 42.3
Avatar de Usuario
gustavodiaz00
 
Mensajes: 44
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos

Re: Problemas con ThisCompnent.close()

Notapor mauricio » Jue Oct 19, 2017 10:30 pm

Hola...

¿Estas usando LibreOffice u OpenOffice?... lo pregunto por tu firma...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 6.1.5 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5792
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Problemas con ThisCompnent.close()

Notapor mauricio » Jue Oct 19, 2017 10:35 pm

He probado en LibreOffice 5.3 y funciona correctamente cerrando el archivo directamente:
Código: Seleccionar todo   Expandir vistaContraer vista
If Usuario_Existe = True then
  msgbox "usuario identificado"
else
  msgbox "No tiene Privilegios"
  oDoc.close(True)
end if

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 6.1.5 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5792
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Problemas con ThisCompnent.close()

Notapor gustavodiaz00 » Vie Oct 20, 2017 5:30 am

Hola Muricio, ahora estoy trabajando en libreoffice



El problema es como comentaba arriba si es la única planilla abierta la mayor parte de las veces cuando quiero abrir libreoffice me pone el cuadro de recuperación de archivo.

Quizás se algun problema de la compilación de libreoffice que usa opensuse.

LibreOffice.png


En otra máquina tengo instalado Sparky linux con escritorio Mate ( interesante distro ), voy a probar en esta a ver si el error persiste o es de la versión de suse.

En este hilo https://forum.openoffice.org/es/forum/viewtopic.php?f=50&t=11872&p=52190&hilit=oDoc.close+True+#p52190 Habla de algo similar.

Por eso comentaba al pricipio que creando un archivo en blanco se puede cerrar el que esta en uso, si este es el único que esta abierto, y no tener problemas cuando ejecutemos de nuevo libreoffice.
Última edición por gustavodiaz00 el Vie Oct 20, 2017 6:37 am, editado 1 vez en total
LibreOffice 5.3.5.2 en opensuse leap 42.3
Avatar de Usuario
gustavodiaz00
 
Mensajes: 44
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos

Re: Problemas con ThisCompnent.close()

Notapor gustavodiaz00 » Vie Oct 20, 2017 6:33 am

Y si también tenes razón lo acabo de probar en la otra distro y funciona correctamente.

LibreOffice2.png


Lo mismo debe pasar con el hilo Dialogos con cotroles planos.
LibreOffice 5.3.5.2 en opensuse leap 42.3
Avatar de Usuario
gustavodiaz00
 
Mensajes: 44
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos

Re: Problemas con ThisCompnent.close()

Notapor mauricio » Vie Oct 20, 2017 2:25 pm

gustavodiaz00 escribió:Lo mismo debe pasar con el hilo Dialogos con cotroles planos.

No, son problemas diferentes... este problema es del renderizado de los controles, LibreOffice acarreo un viejo, lento y pesado motor de renderizado (VLC) que representa mucho, mucho trabajo reemplazar, pero poco a poco se esta haciendo... hay que reportar este tipo de errores y esperar a su solución...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 6.1.5 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5792
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Problemas con ThisCompnent.close()

Notapor gustavodiaz00 » Vie Oct 20, 2017 5:54 pm

Si mauricio, pero en la otra distro el problema con los controles tampoco existe, por eso me lleva a pensar que es un problema particular de la compilacion que hacen para opensuse.

Saludos
LibreOffice 5.3.5.2 en opensuse leap 42.3
Avatar de Usuario
gustavodiaz00
 
Mensajes: 44
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: Exabot [Bot] y 3 invitados