Как я могу инкапсулировать Java в DLL, а затем вызвать DLL из Excel VBA?

У меня есть программа на Java, и мне нужно получить к ней доступ из Excel VBA. То, как я хочу это сделать, - это инкапсуляция java в DLL, чтобы затем я мог вызвать ее из VBA.


person cdiogo7    schedule 16.11.2014    source источник
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
comment
Он сказал, что использует VBA, который я не думаю, что это .Net, поэтому я не уверен, что это сработает, но я могу ошибаться. - person BrianC; 16.11.2014