Problemas con ThisCompnent.close()

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Avatar de Usuario
gustavodiaz00
Mensajes: 64
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos

Problemas con ThisCompnent.close()

Mensaje por gustavodiaz00 »

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) Descargado 168 veces
LibreOffice 6.1 en KDE Neon
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Problemas con ThisCompnent.close()

Mensaje por mauricio »

Hola...

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

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Problemas con ThisCompnent.close()

Mensaje por mauricio »

He probado en LibreOffice 5.3 y funciona correctamente cerrando el archivo directamente:

Código: Seleccionar todo

 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
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
gustavodiaz00
Mensajes: 64
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos

Re: Problemas con ThisCompnent.close()

Mensaje por gustavodiaz00 »

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/v ... ue+#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 6.1 en KDE Neon
Avatar de Usuario
gustavodiaz00
Mensajes: 64
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos

Re: Problemas con ThisCompnent.close()

Mensaje por gustavodiaz00 »

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 6.1 en KDE Neon
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Problemas con ThisCompnent.close()

Mensaje por mauricio »

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
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
gustavodiaz00
Mensajes: 64
Registrado: Mié Abr 26, 2017 1:29 am
Ubicación: Argentina, San Nicolás de los Arroyos

Re: Problemas con ThisCompnent.close()

Mensaje por gustavodiaz00 »

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 6.1 en KDE Neon
Responder