Página 1 de 1

LibreOffice se Bloquea abierto VB6 y se abre en Windows

Publicado: Sab Jun 22, 2019 6:41 pm
por Satuple8288
Buenas Tardes

Tengo libreOffice en 64 y 32 bits (Varios PCs) desde una aplicación hecha en Visual Basic 6 abro el LibreOficce y si después trato de abrir un documento desde Windows (8.1 o 7) no responde. Debo cerrar desde el Administrador de Tareas de Windows el LibreOffice para poder Abrir Documentos directamente de Windows. y sucede lo mismo si tengo abierto un Documento desde la Aplicación en Windows y trato de abrirla en el Aplicativo VB6 no responde. Debo cerrar desde el Administrador de Tareas de Windows el LibreOffice para poder Abrir Documentos desde la Aplicación hecha en VB6. sucede en versiones de LibreOffice desde las 5.... en adelante :crazy:

Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
Set oDesktop = oServiceManager.createInstance("com.sun.star.frame.Desktop")
Set Document = oDesktop.loadComponentFromURL(Ruta_SK, "_blank", 0, Array(MakePropertyValue("AsTemplate", True)))

donde MakePropertyValue es :

Public Function MakePropertyValue(cName, uValue) As Object
Dim ooStruct As Object, ooServiceManager As Object
On Error Resume Next
Set ooServiceManager = CreateObject("com.sun.star.ServiceManager")
Set ooStruct = ooServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
ooStruct.Name = cName
ooStruct.Value = uValue
Set MakePropertyValue = ooStruct
End Function

Gracias

Re: LibreOffice se Bloquea abierto VB6 y se abre en Windows

Publicado: Lun Jun 24, 2019 2:22 pm
por mauricio
Es un comportamiento "normal", ya tienes una instancia abierta, pero un proceso no se comunica con el otro. Tiene muchos, muchos años que no uso Windows, pero en Linux, con usar otro perfil de usuario, puedo tener una instancia normal para el usuario, y otra para procesos automatizados. Observa atentamente la siguiente imagen, en el shell (la parte negra), arranco el LibreOffice con un perfil de usuario diferente, que tiene establecido el español como lenguaje de interfaz, puedes ver el documento abierto en la parte superior, y en la parte inferior, abro un documento de forma manual en el lenguaje predeterminado de mi sistema.
foro.png
Desconozco si al usar CreateObject puedes pasarle alguna variable de entorno, tendrás que investigarlo. Otra buena opción que se me ocurre, si quieres separar completamente tus procesos, es que uses una maquina virtual con Linux, dentro de el ejecutas LibreOffice como servicio y te conectas desde tu aplicativo, esto último lo tengo funcionando en varios proyectos.

Saludos

Re: LibreOffice se Bloquea abierto VB6 y se abre en Windows

Publicado: Lun Jun 24, 2019 4:04 pm
por Satuple8288
UFFFF.... que bien ambas opciones....
Las pruebo y podemos saber si está solucionado...
Hace mucho que no pruebo LINUX.. debe ser hora de volver...???

Muchas... Muchas gracias...