Быстродействие (Excel)
Set B2 = excel.Workbooks.Open("c:\temp.xls")
Мужики, почему VB работает с екселевскими книгами в неколько раз медление чем VBA из екселя......в чем секрет???
Цитата:
Originally posted by Dimitry
Dim B2 As Workbook
Set B2 = excel.Workbooks.Open("c:\temp.xls")
Мужики, почему VB работает с екселевскими книгами в неколько раз медление чем VBA из екселя......в чем секрет???
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, затем вызвать этот метод из своего приложения.