PDA

Ver la Versión Completa : Word desde aplicativo Delphi


amesoft
10-12-2005, 17:18:42
Cómo hago para correr Word desde un formulario Delphi ? GRACIAS.

jachguate
10-12-2005, 19:16:28
Buscá en estos foros referencias a la función ShellExecute, luego solo te hará falta saber donde está el ejecutable de word.

Saludos.

amesoft
12-12-2005, 13:05:12
Te agradezco tu sugerencia. He estado investigando, así lo hice y me salen los siguientes errores con los que no he podido. Te agradezco otra ayuda por favor:

"ShellExecute(NULL,'open','c:\\Archivos de programa\\Microsoft Office\\Office\\WINWORD.EXE', NULL, SW_SHOW);"

Mensaje Compilador:
Incompatible types: 'Variant' and 'PChar'.

Bicho
12-12-2005, 13:50:55
Hola que tal?,

dos fallos veo en lo que nos has enviado:
- El error que te devuelve el compilador, sugiere que, la ruta en la que le indicas el ejecutabla de tu Word debe estar convertido a un PChar, del siguiente modo: PChar(RutaEjecutable).
- Lo segundo que veo, es que pones dobles barrar para separar directorios, seguramente eso te provocará un error en tiempo de ejecución porque no encontrará la ruta especificada. Es decir, deja todos los directorio que incluyes en la ruta con una simple barra.

Saludos

jachguate
12-12-2005, 18:40:10
- Lo segundo que veo, es que pones dobles barrar para separar directorios, seguramente eso te provocará un error en tiempo de ejecución porque no encontrará la ruta especificada. Es decir, deja todos los directorio que incluyes en la ruta con una simple barra.

Esto no debiera dar ningún problema. En mi experiencia, las llamadas al API de windows resuelven correctamente a pesar de la doble barra:

c:\\windows\prueba\\archivo.txt se resolverá correctamente a c:\windows\prueba\archivo.txt

Saludos.

jachguate
12-12-2005, 18:52:00
"ShellExecute(NULL,'open','c:\\Archivos de programa\\Microsoft Office\\Office\\WINWORD.EXE', NULL, SW_SHOW);"
¿Estamos hablando de DELPHI?

Si queres pasar cadenas vacias, pasá '', y no NULL. Si queres pasar un pchar "apuntando a nil", pasa nil, y no NULL.


ShellExecute(0,'open','c:\\Archivos de programa\\Microsoft Office\\Office\\WINWORD.EXE', nil, SW_SHOW);


Hasta luego.

;)