Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.01.2013, 22:59
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию EXCEL + Delphi..Ошибка при первом запуске макроса

Здравствуйте! Возникла большая проблема: есть 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 для представления ошибки. Заранее спасибо!
Вложения
Тип файла: rar EXCEL2.rar (10.4 Кбайт, 1 просмотров)
Ответить с цитированием
  #2  
Старый 09.01.2013, 18:18
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию

Что? Никто не может даже посмотреть? Помогите пожалуйста, тем более вопрос не глупый, а очень даже реальный.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:56.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025