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

发布于 2024-10-21 23:32:50 字数 468 浏览 5 评论 0原文

有 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

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

有关于 pos.3 的想法吗? 2?

谢谢。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

用心笑 2024-10-28 23:32:50

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

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

如果您确实需要返回一个值,那么您很可能需要一个桥 - 此处的类似讨论(对于VB.NET,但原理是相同的): 您可以在 VB.net 程序中使用 Java 库吗?

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

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.

落日海湾 2024-10-28 23:32:50

这可以使用 Obba 通过 VBA 宏来执行。
(免责声明:我正在为 Obba 工作)。

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

夜访吸血鬼 2024-10-28 23:32:50

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

  • Corba 和 Corba 。 (或 RMI 或 JMS)
  • SOAP
  • RESTful API
  • Web 服务
  • 文件 数据交换。
  • IPC 管道

根据您将采用的解决方案的复杂性。

调用“java.exe”在虚拟机中运行该库,您可以使用外部资源生成输出,但只有前 3 个用于在异构解决方案中交换对象。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文