Найти в Дзене
Хитрый IT лис

Delphi 10.4, начало работы с Excel

Добрый день, уважаемые читатели. Цикл моих статей будет посвящён Delphi и работе его с Microsoft Excel. Во первых с помощью всего одной таблицы Excel в Delphi можно реализовать массу функций: интерфейс пользователя, вычисления, поиск и обработка информации. Если кодить программу в Delphi 10.4 под Microsoft Excel важно проверить два нюанса, первый это установлен Microsoft Excel и запущен ли он. Для этого, в нашем примере, добавим в директиву private две функции: function CheckExcInst: boolean; function CheckExcRun: boolean; Объявим переменную: var MyExc: OleVariant; и константу: const ExcApp = 'Excel.Application'; Первая функция CheckExcInst проверяет установлен Microsoft Excel или нет: function TForm5.CheckExcInst: boolean; var ClassID: TCLSID; Res : HRESULT; begin // Поиск CLSID OLE-объекта Res := CLSIDFromProgID(PWideChar(WideString(ExcApp)), ClassID); if Res = S_OK then // Если объект найден Result := true else Result := false; end; Вторая функция CheckExcR

Добрый день, уважаемые читатели. Цикл моих статей будет посвящён Delphi и работе его с Microsoft Excel. Во первых с помощью всего одной таблицы Excel в Delphi можно реализовать массу функций: интерфейс пользователя, вычисления, поиск и обработка информации.

Если кодить программу в Delphi 10.4 под Microsoft Excel важно проверить два нюанса, первый это установлен Microsoft Excel и запущен ли он.

Для этого, в нашем примере, добавим в директиву private две функции:

function CheckExcInst: boolean;

function CheckExcRun: boolean;

Объявим переменную:

var
MyExc: OleVariant;

и константу:

const
ExcApp = 'Excel.Application';

Первая функция CheckExcInst проверяет установлен Microsoft Excel или нет:

function TForm5.CheckExcInst: boolean;
var
ClassID: TCLSID;
Res : HRESULT;
begin
// Поиск CLSID OLE-объекта
Res := CLSIDFromProgID(PWideChar(WideString(ExcApp)), ClassID);
if Res = S_OK then // Если объект найден
Result := true
else
Result := false;
end;

Вторая функция CheckExcRun проверяет запущен ли Microsoft Excel:

function TForm5.CheckExcRun: boolean;
begin
try
MyExc:=GetActiveOleObject(ExcApp);
Result:=True;
except
Result:=false;
end;
end;

Теперь мы подошли к самому главному как же реализовать проверку установки и запуска экселя с помощью всего одной кнопки Button1!?

procedure TForm5.Button1Click(Sender: TObject);
begin
if CheckExcInst=True then begin
ShowMessage('Excel установлен!');
if CheckExcRun=False then
ShowMessage('Excel не запущен!') else Showmessage ('Excel запущен!');
end
else Showmessage ('Требуется установить Excel!');
end;

С помощью двух диалоговых окон процедура ShowMessage сообщит пользователю установлен Microsoft Excel на его компьютер и запущен ли он:

-2