从VBA / VBScript / Visual Basic Classic调用Java库(JAR)

时间:2011-03-14 10:26:58

标签: vba dll jar gcj

有jar库

本机C ++端口尚不可用(作为DLL)

我需要从

打电话

我有3种可能性:

1)等到本机端口准备就绪 2)通过brigde(?)使用VB中的JAR库,安装所需的JRE 3)使用GCJ将JAR编译为本机DLL,并将其用于VBA

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

我认为: POS机。 1很容易,但我必须等待 POS机。 3实际上是不可能的

有没有关于pos的想法。 2?

感谢。

3 个答案:

答案 0 :(得分:5)

这取决于您是否希望从JAR文件返回值。如果你不这样做,只是希望执行一个方法,那么你可以使用VB中的“Shell”(或ShellExecute),如下所示:

Shell("java.exe -jar " & <yourJARFile>)

如果你确实需要返回一个值,那么你很可能需要一个桥梁 - 这里类似的讨论(对于VB.NET,但原理是相同的):Can you use Java libraries in a VB.net program?

基于人们创建的大多数桥接器都是针对.NET而不是针对VBA / 6,因此您可能需要以某种方式创建自己的桥梁,或者创建一个随后由VBA代码使用的.NET DLL。 / p>

答案 1 :(得分:3)

可以使用Obba通过VBA宏执行此操作。 (免责声明:我正在研究Obba)。

答案 2 :(得分:0)

当您需要使用两种不同的技术时,有几种方法可供使用,请使用以下对象/方法出版物:

  • Corba&amp; (或RMI或JMS)
  • SOAP
  • RESTful API
  • Web服务
  • 文件数据交换。
  • IPC Pipeline

根据您的复杂程度,您将采取解决方案。

调用'java.exe'在VM中运行库,您可以使用外部资源生成输出,但只有3个首先用于在异构解决方案中交换对象。