Calling Java library (JAR) from VBA/VBScript/Visua

2019-01-18 13:58发布

There is jar library

native C++ port is not yet available (as DLL)

I need to call from

I have 3 possibilities:

1) Wait until native port is ready 2) Use JAR library from VB via brigde (?), installed JRE required 3) Compile JAR into native DLL using GCJ and use it form VBA

http://www.microsoft.com/germany/msdn/library/office/OfficeVBAUndDieWindowsAPI.mspx?mfr=true

I think: pos. 1 is easy, but I must wait pos. 3 is in practice impossible

Is there some ideas about pos. 2?

Thanks.

标签: vba dll jar gcj
3条回答
倾城 Initia
2楼-- · 2019-01-18 14:39

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.

查看更多
够拽才男人
3楼-- · 2019-01-18 14:40

This can be performed via a VBA macro using Obba. (Disclaimer: I am working on Obba).

查看更多
Ridiculous、
4楼-- · 2019-01-18 14:50

There are couple approaches to be used when you require 2 different technologies to speak, go for Objects/Methods publications using:

  • Corba & (or RMI or JMS)
  • SOAP
  • RESTful API
  • WebServices
  • File Data exchange.
  • IPC Pipeline

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.

查看更多
登录 后发表回答