Вызов библиотеки 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 первых предназначены для обмена объектами в гетерогенном решении.