PDA

Ver la Versión Completa : Detectar directorio de instalación de MS Excel


DanForever
25-05-2006, 12:17:44
Ante todo, gracias por leer mi post. :o Y ahí va mi pregunta:

:confused: ¿Cómo se podría obtener (del registro de windows, o de algun otro sitio) si está instalado en el equipo MS Excel, y en caso afirmativo, el directorio donde está instalado?

Es que tengo en mi aplicación un button que tendría que iniciar el programa Excel, y que éste abriera un fichero, cuya ruta se obtiene de un Edit1.Text, y sólo necesito saber el como obtener de algun sitio el directorio donde esté instalado el MS Excel.

Gracias de nuevo por vuestro tiempo.

seoane
25-05-2006, 12:50:56
Es solo una sugerencia, pero sabiendo la ruta del archivo que quieres abrir creo que es mas sencillo usar esto


uses ShellApi;

ShellExecute(Handle, 'open', PChar('C:\Arhivo.xls'), nil, nil, SW_SHOW);


Pero si quieres conseguir la ruta del ejecutable de excel, puedes usar algo como esto:

uses ShellApi;

function Ejecutable(Archivo: string): string;
var
Buffer: array[0..MAX_PATH] of Char;
begin
if FindExecutable(PChar(Archivo), nil, @Buffer) > 32 then
Result:= String(PChar(@Buffer))
else
Result:= '';
end;


// Para usarlo
ShowMessage(Ejecutable('d:\Contabilidad.xls'));
// el archivo tiene que existir para que funcione

DanForever
25-05-2006, 13:38:29
Gracias por la ayuda!!

ShellExecute(Handle, 'open', PChar('C:\Arhivo.xls'), nil, nil, SW_SHOW);
He usado el pimer código, que hace justamente lo que quería. En una instrucción anterior se creaba el archivo, y con este código, puedo abrir ese mismo archivo