Java 응용 프로그램에서 Office 응용 프로그램의 VBA 코드에 액세스해야하는데, VisualBasic DLL을 통해 JNI를 통해 VBA 코드에 액세스 할 수 있다고 대답 한 THIS이 발견되었습니다. 필요하지 않다면 COM-bridge를 사용하고 싶지는 않지만 DLL-solution으로 갈 것입니다. 내가 만든Java에서 VisualBasic DLL 사용
Public Class Test1
Public Function box()
MsgBox("boxtest!")
End Function
End Class
이 릴리스로하고 내 자바 프로젝트에 넣고 :
public class Test1 {
static{
System.loadLibrary("Test1");
}
public native void box();
}
나는 (작동하는지 테스트하기 위해 간단한 예) 비주얼 스튜디오 2013을 비주얼 베이직 클래스 라이브러리를 생성 이 함수는 new Test1().box();
에 의해 호출됩니다. Exception in thread "main" java.lang.UnsatisfiedLinkError: test.Test1.box()V
하지만 난 그것을가 비주얼 베이직 DLL을 사용할 수 없습니다 것을 (나는 또한 읽기 동작하지 않습니다 수있는 노력의 시간 후 :
나는 다음과 같은 예외가 발생). 내 src 폴더의 네이티브 라이브러리 폴더를 DLL이 들어있는 폴더로 설정했습니다.
질문 : Java에서 VisualBasic DLL을 사용할 수 있습니까? 그렇다면 JNA 또는 JNI (또는 둘 다)로 VisualBasic DLL을 사용할 수 있습니까? 그렇다면 무엇이 잘못 되었습니까? 어떻게 제대로 함수에 액세스 할 수 있습니까? (나는 돌아오고 나머지는 매개 변수가 쉽다는 것을 짐작할 것입니다 ...)
여러분 모두에게 진심으로 감사드립니다. :)
이제 웹 2.0이 생겼으니 PC 2.0이 필요합니다. .net 프레임 워크에서는 주요 언어에서 라이브러리를 쉽게 호출 할 수 있어야합니다 ... btw .net은 CLI를 사용하므로 기본적으로 VS C++ 코드가 다른 "표준"컴파일러의 코드와 동일하게 작동하지 않을 수 있습니다. –