Здравствуйте! Возникла большая проблема: есть EXCEL + программа на Delphi. В EXCEL используется формулы, поиск решения, макрос на этот поиск решения. Проблема в следующем: при открытии файла программой первый раз Excel выдает ошибку "Ошибка сервера", при втором и т.д открытиях макрос выполняется и данные из ячеек записываются в переменные. После закрытия программы остается один процесс Excel.exe. Можете посмотреть код и Excel и сказать что не так? P.S. В программе используется 2 Excel: Ap и Ap2. проблема только со вторым.
Код:
...
Ga:=0.0446799829905886;
Ny:=0.461817650125116;
Fi:=WavInfo.MinAmplitude/WavInfo.MaxAmplitude-0.0002734;
La:=1-(WavInfo.MinAmplitude/WavInfo.MaxAmplitude)+0.00034782;
For i:=1 to m do //
begin //
Ap2.Cells[i,1]:=Xj[i];
Ap2.Cells[i,2]:=Yj[i];
//ap2.Visible := True;
end;
Ap2.Range['K1']:=Ga;
Ap2.Range['K2']:=Ny;
Ap2.Range['K3']:=Fi;
Ap2.Range['K4']:=La;
begin
ap2.visible:=true;
Ap2.Run('Макрос1');
Ga:=Ap2.Range['K1']; //Ap2.Cells[1,11];
Ny:=Ap2.Range['K2'];
Fi:=Ap2.Range['K3'];
La:=Ap2.Range['K4'];
end;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
Ap := CreateOleObject('Excel.Application');
Ap.Workbooks.Open(GetCurrentDir+ '\EXСEL.xls');
PageControl1.ActivePage:= TabSheet1;
Ap2 := CreateOleObject('Excel.Application');
Ap2.Workbooks.Open(GetCurrentDir+ '\EXCEL2.xls');
end;
...
procedure TForm1.FormDestroy(Sender: TObject);
begin
Ap.DisplayAlerts:=False;
Ap.Application.Quit;
Ap2.DisplayAlerts:=False;
Ap2.Application.Quit;
end;
Excel ниже. Если надо, выложу исполняемый проект на Delphi для представления ошибки. Заранее спасибо!