Вызов библиотеки Java (JAR) из VBA/VBScript/Visual Basic Classic

есть библиотека jar

родной порт C++ еще не доступен (как DLL)

Мне нужно позвонить из

У меня есть 3 варианта:

1) подождите, пока родной порт готов 2) используйте библиотеку JAR из VB через brigde (?), установленный JRE требуется 3) скомпилируйте JAR в собственную DLL с помощью GCJ и используйте его форму VBA

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

Я думаю,: кассовый терминал. 1 легко, но я должен ждать кассовый терминал. 3 на практике невозможно

есть ли какие-то идеи о pos. 2?

спасибо.

3 ответов


Это зависит от того, хотите ли вы возвращать значения из файла JAR или нет. Если вы этого не делаете и просто хотите выполнить метод, вы можете использовать "оболочку" (или ShellExecute) из VB следующим образом:

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

Если вам нужно вернуть значение, вам, скорее всего, понадобится мост-подобное обсуждение здесь (для VB.NET, но принцип тот же):можете ли вы использовать библиотеки Java в VB.net программа?

основан на том, что большинство мостов, которые люди созданы для .NET, а не для VBA/6, поэтому вам, возможно, придется создать свой собственный каким-то образом или, возможно, создать DLL .NET, которая затем потребляется вашим кодом VBA.


Это может быть выполнено через макрос VBA с помощью Obba. (Отказ от ответственности: я работаю над Obba).


есть несколько подходов, которые будут использоваться, когда вам нужны 2 разные технологии, чтобы говорить, перейдите к публикациям объектов / методов, используя:

  • Corba & (или RMI или JMS)
  • мыло
  • RESTful API
  • веб-сервисы
  • обмен данными.
  • трубопровод IPC

в зависимости от сложности вы будете принимать решение.

вызов ' java.exe ' запускает библиотеку в виртуальной машине, которую вы можете создать выход с использованием внешнего ресурса, но только 3 первых предназначены для обмена объектами в гетерогенном решении.