Как определить установлен ли Excel?

Материал из DRKB


Функция возвращает True если найден OLE-объект

function IsOLEObjectInstalled(Name: String): Boolean;
var
  ClassID: TCLSID;
  Rez: HRESULT;
begin
  // Ищем CLSID OLE-объекта
  Rez := CLSIDFromProgID(PWideChar(WideString(Name)), ClassID);

  if Rez = S_OK then  // Объект найден
    Result := True
  else
    Result := False;
end;

Пример использования

  if not IsOLEObjectInstalled('Excel.Application') then
    ShowMessage('Класс не зарегистрирован')
  else
    ShowMessage('Класс найден');


Если нужна более подробная информация об объекте, можно почитать хелп по функции API CLSIDFromProgID.


Author: Кулюкин Олег
Source: http://www.delphikingdom.ru/
ID: 04379