Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Быстродействие (Excel)

5.2K
15 ноября 2004 года
Dimitry
26 / / 11.06.2004
Dim B2 As Workbook
Set B2 = excel.Workbooks.Open("c:\temp.xls")

Мужики, почему VB работает с екселевскими книгами в неколько раз медление чем VBA из екселя......в чем секрет???
4.4K
16 ноября 2004 года
blind rain
66 / / 20.07.2004
Цитата:
Originally posted by Dimitry
Dim B2 As Workbook
Set B2 = excel.Workbooks.Open("c:\temp.xls")

Мужики, почему VB работает с екселевскими книгами в неколько раз медление чем VBA из екселя......в чем секрет???


Excel - ActiveX Exe, а значит VB-приложение его использует через "межпроцессный" COM с маршализацией и прочими заморочками передачи данных между процессами.
Для ускорения можно написать ActiveX DLL, которая с Excel что-то делает, принимая нужный Excel-объект в качестве параметра своего метода. Из своего приложения динамически добавить код (публичный метод) в Excel-Лист, который эту DLL будет подгружать в процесс Excel, затем вызвать этот метод из своего приложения.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог