ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Call VB6 DLL from Worksheet without VBA wrapper (https://www.excelbanter.com/excel-programming/277381-call-vb6-dll-worksheet-without-vba-wrapper.html)

Lawrence[_3_]

Call VB6 DLL from Worksheet without VBA wrapper
 
Can anyone tell me how to call compiled VB6 function directly from a
cell in Excel worksheet, without creating a VBA function as a wrapper.
Using a VBA wrapper causes a serious execution time overhead compared
to built-n excel functions.

Thanks,

Lawrence

Rob Bovey

Call VB6 DLL from Worksheet without VBA wrapper
 
Hi Lawrence,

This is only possible using a special type of add-in called an
Automation add-in that is only supported by Excel 2002 and higher. For
versions of Excel prior to 2002, you must use a VBA wrapper in order to call
a function in a VB6 DLL.

--
Rob Bovey, MCSE, MCSD, Excel MVP
Application Professionals
http://www.appspro.com/

* Please post all replies to this newsgroup *
* I delete all unsolicited e-mail responses *


"Lawrence" wrote in message
om...
Can anyone tell me how to call compiled VB6 function directly from a
cell in Excel worksheet, without creating a VBA function as a wrapper.
Using a VBA wrapper causes a serious execution time overhead compared
to built-n excel functions.

Thanks,

Lawrence




Rob Bovey

Call VB6 DLL from Worksheet without VBA wrapper
 
Hi Lawrence,

I honestly haven't timed Automation add-in functions, and I'm surprised
to hear that they don't provide a significant speed improvement given that
they allow you to bypass VBA altogether. However, if you need native
function speed, there's really only one way to get it, and that's to write
your functions in an XLL using C/C++ and the Excel C API.

--
Rob Bovey, MCSE, MCSD, Excel MVP
Application Professionals
http://www.appspro.com/

* Please post all replies to this newsgroup *
* I delete all unsolicited e-mail responses *


"Lawrence" wrote in message
om...
Rob,

Thanks for that. Actually, I did try that and it works... Only problem
is that it's no fatser than calling a VBA function.

My problem is that I have about 4000 cells calling a function I've
written. I repeatedly recalculate this spreadsheet and it's very slow.
But, I notice that native functions like STDEV are very fast. I was
hoping that VB6 would speed me up. It's not the speed of the function
itself that's the problem - I am sure compiled VB6 is very much faster
than VBA. It's the overhead of calling the function...

Any help apreciated,

Lawrence


"Rob Bovey" wrote in message

...
Hi Lawrence,

This is only possible using a special type of add-in called an
Automation add-in that is only supported by Excel 2002 and higher. For
versions of Excel prior to 2002, you must use a VBA wrapper in order to

call
a function in a VB6 DLL.

--
Rob Bovey, MCSE, MCSD, Excel MVP
Application Professionals
http://www.appspro.com/

* Please post all replies to this newsgroup *
* I delete all unsolicited e-mail responses *


"Lawrence" wrote in message
om...
Can anyone tell me how to call compiled VB6 function directly from a
cell in Excel worksheet, without creating a VBA function as a wrapper.
Using a VBA wrapper causes a serious execution time overhead compared
to built-n excel functions.

Thanks,

Lawrence





All times are GMT +1. The time now is 09:00 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com