Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.09;
Скачать: CL | DM;

Вниз

Excel   Найти похожие ветки 

 
АлеКо   (2003-05-27 07:44) [0]

Привет всезнайки! Вот с какой проблеммой я сталкнулся.

Из своего приложения открываю книгу Excel. Делаю ее невидимой. Получаю из нее данные и когда я ее закрываю то она остается в памяти и программа выдает сообщение "сервер не отвечает".
Дело в том что в данной книге присутствуют формулы которрые пересчитываются при открытии. Если работать с пустой книгой то приложение закрывается нормально. Вот мой код
ExcelApp := CreateOleObject("Excel.Application");
ExcelApp.Application.EnableEvents := false;
ExcelApp.Application.EnableEvents := true;

.. обработка ...

Workbook.Saved:=true;
Workbook.Close;
ExcelApp.Quit;
Sheet:=UnAssigned;
Workbook:=UnAssigned;
ExcelApp:=UnAssigned;

может кто подскажет как быть с проблеммой.


 
AbrosimovA   (2003-05-28 11:34) [1]

У меня была почти похожая проблема, только разница в том, что
я писал данные в Excel. Когда этих данных было мало, то в памяти
Excel не оставался, а если их было много, то увы...
Проблема состояла в том, что я писал в Excel в цикле в каждую ячейку последовательно. Проблема решилась следующим образом:

1. Создал вариантный массив, который заполнил данными для записи
в Excel(много их или мало - это неважно).
2. Затем массив чоком кинул в Excel(это оказалось быстрее в
несколько раз, чем поячеечная запись).

После этого проблемы не стало.
Возможно тебе надо решить вопрос времени вычисления твоих формул и не вычислять их при открытии Excel.



Страницы: 1 вся ветка

Текущий архив: 2003.06.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
14-26681
Сергей Чурсин
2003-05-06 23:55
2003.06.09
---|Ветка была без названия|---


1-26431
Avsam
2003-05-28 17:48
2003.06.09
TStrings & TStringList


14-26684
oleg_art
2003-05-21 15:20
2003.06.09
Как создать полную копию экземпляра


3-26398
GSVSerg
2003-05-21 15:52
2003.06.09
DBGrid


7-26803
zolotov
2003-04-05 19:56
2003.06.09
Kernel32.dll в Win2k. Скрытие приложения при нажатии Ctrl+Alt+Del