Delphi - ShellExecute con Parametros

 
Vista:

ShellExecute con Parametros

Publicado por Irreal (69 intervenciones) el 26/06/2006 12:25:22
Estimados amigos:

Necesito abriri un documentos de Word. Entiendo que hay que hacerlo con ShellExecute pero aunque me abre bien en Word el documentos al contener espacios, parte la ruta intentando abrir varios documentos.

Yo tengo el Word en : d:\Archivos de programa\Microsoft Office\Office\WINWORD.EXE
y quiero abrir : C:\Mis Documentos\Documento Word.doc

Desde el comando ejecutar de windows se abriría con la siguioente instrucción:

"d:\Archivos de programa\Microsoft Office\Office\WINWORD.EXE" "C:\Mis Documentos\Documento Word.doc"

Pero aunque he conseguido intercalar las comillas en delphi :

ShellExecute(Application.Handle, 'open',
FileName :='d:\Archivos de programa\Microsoft Office\Office\WINWORD.EXE',
StrPCopy(F, FileName);
P := ' ' + '''' +'C:\Mis Documentos\C:\Mis Documentos\Documento Word.doc'+ '''';
StrPCopy(P, Params);

ShellExecute(Application.Handle, 'open', F, P, nil, SW_NORMAL);

Me abre el Word y tres documentos ':\Mis ,Documentos\Documento y Word.doc. Este úiltimo además lo intenta abrir en el directorio de la aplicación.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ShellExecute con Parametros

Publicado por Virum (484 intervenciones) el 26/06/2006 19:18:16
Hola:

En vez de llamar a Word llama al documento, y como está asociado a word se abrirá ese documento en word.

sFichero := rutacompletadelfichero.doc;
ShellExecute(Handle, 'open', pchar(sFichero), nil, nil, SW_SHOW);

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ShellExecute con Parametros

Publicado por Irreal (69 intervenciones) el 27/06/2006 09:00:01
El problema es que existe la posibilidad de que no se quiera abrir el fichero con el programa declarado en el api de Windows.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar