Reputation: 1618
I'm working with a JAR library, but a native C++ port (as a DLL) isn't available yet.
I need to access this functionality from VBA, and I'm considering three options:
I believe option 1 would be the easiest, though it requires waiting. Option 3 seems impractical.
Could you provide any insights or suggestions regarding option 2? Specifically, I'm interested in setting up a reliable bridge between VBA and the JAR library.
Thanks for your assistance!
Upvotes: 7
Views: 25728
Reputation: 51
There are couple approaches to be used when you require 2 different technologies to speak, go for Objects/Methods publications using:
Depending on the complexity you will take your solution.
Calling 'java.exe' runs the library in a VM, you can produce an output using a external resource but only the 3 first are meant to exchange objects in a heterogen solution.
Upvotes: 0
Reputation: 16932
This can be performed via a VBA macro using Obba. (Disclaimer: I am working on Obba).
Upvotes: 3
Reputation: 3506
It depends on whether you wish to return values from the JAR file or not. If you do not, and just wish to execute a method then you can use a "Shell" (or ShellExecute) from VB as follows:
Shell("java.exe -jar " & <yourJARFile>)
If you do need to return a value then you will more than likely need a bridge - similar discussion here (for VB.NET, but principle is the same): Can you use Java libraries in a VB.net program?
Based on that most bridges that people have created are for .NET and not for VBA/6 so you would maybe need to create your own somehow, or perhaps create a .NET DLL that is then consumed by your VBA code.
Upvotes: 5