Показать сообщение отдельно
  #1  
Старый 07.12.2011, 20:26
KuHoMaH KuHoMaH вне форума
Прохожий
 
Регистрация: 07.12.2011
Сообщения: 13
Репутация: 10
Вопрос как открыть два Excela в один процесс

имеется следующий код проверки если запущен процесс EXCEL.EXE
если нет запускается

Код:

Код:
function RunExcel: boolean;
begin
//если запущен процесс Excel
if GetProcessByEXE('EXCEL.EXE')<>0 then
begin
Result:=true;
// тут видимо и есть ошибка так как при обрашение к файлам
// данные берутся только из одного файла 
xls1:= GetActiveOleObject('Excel.Application');
xls2:= GetActiveOleObject('Excel.Application');
end
else
//если не запущен 
begin
Result:=false;
//создаются два процесса Excel, программа работает правильно, 
//но хотелось бы не грузить систему и открыть файлы в одном процессе
xls1:= CreateOleObject('Excel.Application');
xls2:= CreateOleObject('Excel.Application');
end;
end;


если убить процесс эксэль и запустить программу она работает правильно (но запускаються два процеса EXCEL.EXE) ну а вот если эксэль запущен или повторно вызвать функцию ранэксэль то она работает уже неправильно (данные которые должны браться из разных документов берутся из одного и того же файла)

есть и остальная часть программы.

помогите решить проблему
Ответить с цитированием