У меня есть программа на Java, и мне нужно получить к ней доступ из Excel VBA. То, как я хочу это сделать, - это инкапсуляция java в DLL, чтобы затем я мог вызвать ее из VBA.
Как я могу инкапсулировать Java в DLL, а затем вызвать DLL из Excel VBA?
comment
Это очень плохая идея. Байт-код Java и код .Net по своей сути несовместимы. Любой вариант, который вы используете для этого, будет раздутым, медленным, сложным и, вероятно, ненадежным от одного пользователя к другому. Было бы лучше, если бы приложение Java было услугой, которую ваше приложение могло бы вызывать.
- person BrianC   schedule 16.11.2014
Ответы (1)
В одном из моих проектов я использую IKVM: http://sourceforge.net/projects/ikvm/
IKVM.NET - это JVM для Microsoft .NET Framework и Mono. Он может как динамически запускать классы Java, так и использоваться для преобразования jar-файлов Java в сборки .NET. Он также включает перенос библиотек классов OpenJDK на .NET.
И этот поток, который поможет вам использовать его с Excel VBA: http://sourceforge.net/p/ikvm/mailman/message/32106884/ Возможно, это вам поможет.
person
stacky
schedule
16.11.2014
Он сказал, что использует VBA, который я не думаю, что это .Net, поэтому я не уверен, что это сработает, но я могу ошибаться.
- person BrianC; 16.11.2014