Excel VBA シート内で Java プロジェクトからコードを実行できるようにしたいと考えています。SO の他の場所で、.jar を .dll に変換できる Java の .NET 実装である IKVM を発見しました。これにより、VBA エディター内の .jar からクラス/メソッドにアクセスできるようになることを望んでいましたが、そうするのに問題があります。
私は VBA で宣言ステートメントを使用しようとしましたが (多くの異なる順列で、それを機能させようとしました)、最も一般的なエラーは .DLL のエントリ ポイントを参照しています。
また、.DLL を参照として Excel に登録しようとしましたが、ボイラープレート エラーが発生し、登録されません。
参考までに、プロジェクト全体でテストする前に、次のクラスを使用してテストしてきました。
public class IKVMTest {
public static void print(String s) {
System.out.println(s);
}
}
このクラスは Eclipse によってコンパイルされ、IKVMTest.jar にエクスポートされます。この時点で、ikvmc -target:library IKVMTest.jar
IKVMTest.dll を受け取るために使用します。簡単にするために、この .dll とテスト対象の Excel シートは IKVM の bin フォルダーにダンプされます (IKVM .dll ファイルにはいくつかの依存関係があるため)。
このサンプル テストで動作させることができれば、プロジェクト全体で動作させることができます。