Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Detectar directorio de instalación de MS Excel (https://www.clubdelphi.com/foros/showthread.php?t=32053)

DanForever 25-05-2006 12:17:44

Detectar directorio de instalación de MS Excel
 
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

Código Delphi [-]
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:
Código Delphi [-]
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!!
 
Gracias por la ayuda!!
Cita:

Empezado por seoane
Código Delphi [-]
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


La franja horaria es GMT +2. Ahora son las 19:59:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi