2011-03-14 11 views
7

Hay biblioteca frascoCalling biblioteca de Java (JAR) de VBA/VBScript/Visual Basic clásico

nativo C++ puerto no está todavía disponible (como DLL)

necesito llamar desde

I tiene 3 posibilidades:?

1) Espere hasta puerto nativo está listo 2) uso de la biblioteca JAR desde Visual Basic a través de brigde(), instalado JRE requiere 3) Compilar JAR en DLL nativa utilizando GCJ y utilizarlo formar VBA

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

pienso: pos. 1 es fácil, pero debo esperar pos. 3 es en la práctica imposible

¿Hay algunas ideas sobre pos. 2?

Gracias.

Respuesta

5

Depende de si desea devolver valores del archivo JAR o no. Si no lo hace, y simplemente desea ejecutar un método, puede utilizar una "cáscara" (o ShellExecute) de VB de la siguiente manera:

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

Si necesita devolver un valor, entonces más que probable Necesito un puente - similar discusión aquí (para VB.NET, pero el principio es el mismo): Can you use Java libraries in a VB.net program?

Basado en que la mayoría de los puentes que la gente ha creado son para .NET y no para VBA/6 por lo que tal vez necesite cree el suyo de alguna manera, o tal vez cree un DLL .NET que luego sea consumido por su código VBA.

+1

[enlace] (http://www.java-forum.org/java-basics-anfaenger-themen/114098-vba-jar-dateiaufruf.html) – hellboy

+1

[VBA jar Dateiaufruf (DE)] (http://www.java-forum.org/java-basics-anfaenger-themen/114098-vba-jar-dateiaufruf.html) y [Java aus VB-Script starten] (http://www.vb-paradise.de/programmieren)/grundlagen/45734-java-aus-vb-script-starten /) – hellboy

3

Esto se puede realizar a través de una macro de VBA usando Obba. (Descargo de responsabilidad: estoy trabajando en Obba).

0

hay enfoques par para ser utilizados en caso de requerir 2 tecnologías diferentes para hablar, salir a publicaciones Objetos/Métodos usando:

  • Corba & (o RMI o JMS)
  • de SOAP
  • REST API
  • WebServices
  • Intercambio de datos de archivo.
  • IPC Pipeline

Dependiendo de la complejidad que se llevará a su solución.

Llamar 'java.exe' ejecuta la biblioteca en una máquina virtual, puede generar una salida utilizando un recurso externo, pero solo las 3 primeras están destinadas a intercambiar objetos en una solución heterogénea.

Cuestiones relacionadas