Dado que parece tener una relación de trabajo con el proveedor de software propietario, quizás pueda preguntarles cómo están llamando a winword.exe para abrir el archivo. Si simplemente hacen una llamada al sistema para iniciar winword.exe y le pasan el nombre del archivo para abrir, entonces todas o la mayoría de las soluciones que enumero a continuación deberían funcionar. Voy a enumerar los más fáciles primero. Si están usando COM o DDE, no es imposible interceptar eso, pero requerirá mucho más trabajo.
Si indican que están haciendo una llamada al sistema para iniciar winword.exe (o si no se lo dicen, asuma que puede funcionar y pruébelo ...):
- Vaya a la carpeta donde está instalado LibreOffice Writer. Estoy usando OpenOffice en lugar de LibreOffice, pero son muy similares, por lo que es posible que tengas que investigar un poco.
- Encuentra el archivo .exe "Writer". Para mí (OpenOffice) es:
D:\Program Files\OpenOffice.org-3\program\swriter.exe
- Haga una copia del archivo .exe "Writer" que encuentre y cámbiele el nombre a "winword.exe".
- Asegúrese de que permanezca en la misma carpeta que el archivo .exe "Writer" existente.
- Asegúrese de que la carpeta donde se encuentra esto se nombra en la variable de entorno "Ruta".
Si tiene algún problema o pregunta con este proceso, solo proporcione algunos detalles en un comentario.
Si lo anterior no funciona, puede intentar "Redirigir" la apertura de Winword. Dos posibilidades para hacer esto:
Método 1:
- Cree un enlace a LibreOffice Writer. Nombre el enlace winword.lnk o winword.exe.lnk. Esto puede depender de cómo el programa propietario llama a Winword.
- Coloque el archivo de enlace en una carpeta denominada en la variable de entorno "Ruta".
Dependiendo de la versión de Windows que esté utilizando, puede haber más de un tipo de enlace que se puede crear, y algunos pueden funcionar en su caso y otros no.
Método 2:
- Usando un lenguaje de programación que pueda compilarse en un archivo ".exe" (como C o Visual Basic), cree un pequeño programa "envoltorio".
- El programa contenedor simplemente acepta los argumentos de la línea de comandos y llama a LibreOffice Writer, pasando los argumentos.
- Después de compilar el contenedor, cambie el nombre del archivo .exe creado a winword.exe y colóquelo en una carpeta denominada en la variable de entorno "Ruta".
Si no encuentra ninguno de estos trabajos, o si le dicen que usan DDE o COM para invocar Winword, entonces tanto Visual Basic como C pueden programarse para responder a mensajes / solicitudes DDE / COM, aunque esto no es una tarea trivial.
Editar:
Puede ver la "Path"
variable de esta manera:
- Abra un símbolo del sistema haciendo clic en el botón Inicio de Windows (Orbe de inicio), luego haga clic en el
"Command Prompt"
acceso directo. Si no ve un "Command Prompt"
acceso directo en el menú de inicio, haga clic en el cuadro "Buscar" en la parte inferior del menú de inicio y escriba:
cmd.exe
Enter
- En la ventana del símbolo del sistema, escriba:
C:>echo %Path%
C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
C:>
Esto mostrará una cadena que es una lista de carpetas separadas por ";"
(punto y coma). La cadena que se muestra en su computadora será diferente.
Si no puede encontrar su carpeta apropiada en la lista de carpetas contenidas en la Path
variable, puede agregar nombres de carpeta a Path
:
- Haga clic en el botón Inicio (orbe)
- En el menú de inicio, haga clic
Computer
para abrir "My Computer"
, luego haga clic "System Properties"
en el menú contextual debajo de la barra de menú. O, en el menú de inicio, haga clic derecho Computer
y seleccione"Properties"
- A la izquierda de la
"My Computer"
ventana, haga clic en"Advanced system settings"
- Haz clic en la
"Advanced"
pestaña.
Haga clic en el Environment Variables
botón
Desde esta pequeña ventana que se abre, puede agregar / editar / eliminar variables de entorno.
Hay dos tipos de variables de entorno. System variables
están disponibles para todos los usuarios en la computadora. User variables
se puede configurar para que sea diferente para cada usuario.
La mitad superior de la ventana es para administrar User variables
y la inferior es para administrar System variables
. Para administrar variables solo para el usuario conectado, trabaje en la User variables
sección, de lo contrario trabaje en la System variables
sección.
Si una variable tiene un valor para las secciones System variables
y User variables
, entonces el valor en la User variables
sección tendrá prioridad.
Los nombres de las variables no distinguen entre mayúsculas y minúsculas, por lo que una variable denominada "Path"
podría escribirse "path"
o "PATH"
. De cualquier manera, es la misma variable.
Suponga que desea editar el "Path"
en la System variables
sección (que sería el caso habitual).
- En la
System variables
sección, busque la Path
variable y haga clic en ella. Luego haz clic en el Edit...botón.
- Si no encuentra la
Path
variable (seguramente lo hará), puede hacer clic en el New...botón para agregar una nueva variable y darle un nombre Path
.
En la Edit System Variable
ventana, haga clic en el campo "Valor variable" (cuadro de texto).
En aras de la seguridad, sería una buena idea hacer una copia del texto (valor) que está actualmente en el cuadro de texto y guardarlo en un archivo de texto en su escritorio.
Agregue una carpeta a la Path
variable actual moviéndose al texto final en el cuadro de texto, luego escriba a ;
(punto y coma), escriba la ruta completa de la carpeta que desea agregar y haga clic en el OKbotón.
Entonces, en su caso, es posible que vea que el valor de la Path
variable comienza a parecerse a esto:
C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
y después de haber agregado la carpeta a la Path
variable, podría verse así:
C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem;D:\Program Files\LibreOffice\program\
Ahora puede hacer clic en el OKbotón para cerrar la System Properties
ventana y puede cerrar la My Computer
ventana.
Las variables de entorno generalmente solo son leídas por los programas cuando comienzan. Por lo tanto, cualquier programa que se inicie después de cambiar el valor de una variable de entorno, o agregar una nueva variable de entorno, o eliminar una variable de entorno, generalmente verá el entorno que contiene los nuevos valores (modificados).
Para los programas que ya se están ejecutando, es posible que deba cerrarlos y reiniciarlos, o reiniciar la computadora antes de que vean los nuevos valores (modificados).
Path
variable y cómo editarlo si es necesario. En caso de que todavía tenga problemas, dígame qué solución está intentando y en qué carpeta está su archivo (LibreOffice)swriter.exe
, qué contiene suPath
variable y qué problemas tiene. Trataré de guiarte a través de eso.Probablemente no. No puede simplemente cambiar el nombre de un archivo para que se ajuste porque generalmente se llamará al Programa y se le pasarán Parámetros a él / sus funciones.
Pregunte a los desarrolladores de la Aplicación propietaria si considerarían extenderse más allá de Word, teniendo en cuenta que este es un trabajo no remunerado para ellos, por lo que será un deseo del cliente que pueden conceder algún tiempo en el futuro, pero ciertamente no ahora.
¿Por qué no abrir los documentos manualmente para editar con Libre?
fuente
El software puede no estar buscando WinWord.exe, puede estar intentando comunicarse con él usando Automatización OLE / COM , y cuando no puede iniciar el OLE, informa que no puede encontrarlo.
Más información de MSDN: Automatización
LibreOffice's Writer puede actuar como un servidor COM para proporcionar una automatización similar, pero el software que está tratando de automatizar Word / Writer necesitaría ser reprogramado para usarlo, incluidos sus diferentes espacios de nombres, ClassId, métodos, etc.
Si sospecha que está tratando de ejecutar WinWord.exe específicamente, quizás inicie una copia de Process Monitor para confirmar o rechazarlo con una pequeña prueba.
fuente