Use Dot Net API within VBA

I have an API for Dot Net and I'm hoping there's a way to run it within VBA (MS Access or Excel).

The API controls functionality of another system. It also relies heavily on Event Handlers for events triggered by that other system. I'm hoping there's a way my vba code can actually react to those events.

Doable? Can you guide me to some good reference sources or tutorials? Or, even better, summarize the steps.

Thanks!
KapriceAsked:
Who is Participating?
 
Jacques Bourgeois (James Burger)PresidentCommented:
Sorry for you, this won't be possible.

It can work in some instances, when the programmer who wrote the API takes into account the fact that it will be called by VBA. They usually don't.

It is hard to connect to simple things in a .NET dll from VBA because the differences between both systems are huge. For instances, dates do not work well because they are not in the same format.

And events are not the same thing at all. They are not declared, nor called, nor handled in in the same way. So subscribing to the events is not possible.

It would be a lot to thing that a Technology that is 20 years old could talk to another one that was developed a dozen of years later. Microsoft could not foresaw .NET when they developed VBA.

0
 
Jeffrey CoachmanMIS LiasonCommented:
Perhaps you could describe this mysterious "API" for us...?

Perhaps there is something similar in VBA?
0
 
KapriceAuthor Commented:
Perhaps you could describe this mysterious "API" for us...?

Perhaps there is something similar in VBA?

Not likely. It's an interface for controlling another proprietary app.
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
KapriceAuthor Commented:
Someone elsewhere suggested the possibility of creating a "wrapper" COM object in Dot Net.  Not sure how practical or challenging that would be, but if anyone has any ideas on how one could do that, I'm open to it.
0
 
Jacques Bourgeois (James Burger)PresidentCommented:
Wrapper COM objects are created in C++, the only language that permits the use of pointers in the .NET development environment.

If you know somebody who knows C++, how to use it in .NET, as well as the inner workings of COM...

As suggested by Kaprice, there might be something similar in VBA. If the API is a third party API, maybe they had an equivalent version in COM before the arrival of .NET in 2002.
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Is there an Object Model for this API / App ?

"As suggested by Kaprice,"
Kaprice is the OP :-)

mx
0
 
KapriceAuthor Commented:
Is there an Object Model for this API / App ?

It doesn't appear so. After installing the API, I looked through the reference list and it wasn't there, so I can't do it the traditional way.


"As suggested by Kaprice,"
Kaprice is the OP :-)

I think he saw me quote the guy who said that and took it as my own. :)
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Is there some OCX / DLL or whatever ... such that you can set a reference to it from the VBA References ?  If so, then you can probably see what methods and properties are available.

mx
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.