VB6 и Excel 2003 Проблема

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Pioneer
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 09.01.2005 (Вс) 22:00
Откуда: Dimitrovgrad

VB6 и Excel 2003 Проблема

Сообщение Pioneer » 23.01.2005 (Вс) 19:52

Моя программа в ходе своего цикла for next читает ячейки из одной откытой книги, производит с ними некоторые действия и пишет в другую открытую рабочую книгу. Все книги открываются и закрываются прогой.
Я знаю что можно разобраться в формате excel и сделать тоже самое только с самими файлами, но все же объясните пожалуйста почему:
:?: 1. прога сильно тормозит
:?: 2. так грузит процессор (100 % загрузка на селерон 1000 причем 60-70 % это excel)
Спасибо заранее всем осмелившимся.

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 24.01.2005 (Пн) 13:40

Я уже не впервый раз сталкиваюсь с такой проблемой. Для себя я сделал вывод, что такое торможение происходит из-за активных библиотек Excel - все процессы обрабатываются, по-идее, именно ими + промежуточное звено - приложение VB, которое никогда особой скоростью тоже не отличалось.
В свое время для ускорения процесса записи данных в файл, я использовал работу с Excel в двоичном виде (формат BIFF) - без задействования каких-либо библиотек, но вот процесс чтения в том же формате пока не осилил. А в форуме ответ никто не дает.
На данный момент это единственный способ реального ускорения работы с книгой Excel. Иного не знаю.
Век живи - век учись!
www.detal-plast.narod.ru

Pioneer
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 09.01.2005 (Вс) 22:00
Откуда: Dimitrovgrad

Сообщение Pioneer » 24.01.2005 (Пн) 17:25

Чудик писал(а):(формат BIFF)

А ссылочку, где это можно почитать не дадите?

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 24.01.2005 (Пн) 22:09

Век живи - век учись!
www.detal-plast.narod.ru

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 25.01.2005 (Вт) 12:40

Если в книгах много формул, то после каждого изменения ячейки происходит их пересчет, а это долго.

Попробуй в начале макроса поставить:

Код: Выделить всё
Application.Calculation = xlCalculationManual
Application.ScreenUpdating=False


В конце, соответственно, xlCalculationAutomatic и True.

Pioneer
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 09.01.2005 (Вс) 22:00
Откуда: Dimitrovgrad

Сообщение Pioneer » 31.01.2005 (Пн) 17:07

Чудик писал(а):В свое время для ускорения процесса записи данных в файл, я использовал работу с Excel в двоичном виде (формат BIFF) - без задействования каких-либо библиотек, но вот процесс чтения в том же формате пока не осилил.


А исходников у тебя не осталось? Я решил что-то вроде класса или контрола забахать.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 4

    TopList