Страница 1 из 1
как узнать, установлен ли Excel на компьютере?
Добавлено: 24 май 2005, 18:45
forform
плз, код процедуры, т.к. вариант, который я нашел, у меня не работает. пишу на Delphi 7
Добавлено: 24 май 2005, 21:52
YurikGL
1) Посмотреть соответсвующие ветки в реестре
2)
App : Variant;
try
app := CreateOleObject('Excel.Application');
App:=Unassigned;
showmessage('Ексель есть')
except
showmessage('Екселя нет')
end;
Добавлено: 05 июн 2005, 01:13
diashi
есть более элегантное решение:
if not IsOLEObjectInstalled('Excel.Application') then
ShowMessage('Класс не зарегистрирован')
else
ShowMessage('Класс найден');
// А вот и сама функция IsOLEObjectInstalled.
// Кстати, можна проверять ею любой обьект поддерживающий ОЛЕ-автоматизацию (Ворд, и другие)
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;
Добавлено: 06 июн 2005, 10:23
Игорь Акопян
или в одну строку

Result := CLSIDFromProgID(PWideChar(WideString(Name)), ClassID) = S_OK;