VB-Express コードを .dll として保存し、それを regasm に登録して、.tlb ファイルを作成しました。
しかし、Excel モジュールで関数を実行しようとすると、「実行時エラー '453': kernel32 で DLL エントリ ポイント RegisterServiceProcess が見つかりません」というエラーが表示されます。
私が見逃したステップは何ですか?
VB-Express コードを .dll として保存し、それを regasm に登録して、.tlb ファイルを作成しました。
しかし、Excel モジュールで関数を実行しようとすると、「実行時エラー '453': kernel32 で DLL エントリ ポイント RegisterServiceProcess が見つかりません」というエラーが表示されます。
私が見逃したステップは何ですか?
http://richnewman.wordpress.com/2007/04/15/a-beginner’s-guide-to-calling-a-net-library-from-excel/を参照するか、ExcelDNA ( http:// groups.google.com/group/ExcelDna )
.Net dll を作成し、それを COM 指向の環境 (VBA) から呼び出そうとしていると思いますが、これは助けがなければ機能しません。私の推測が正しければ、.Net の COM Interop 要素を調査する必要があります。
少し不愉快に見えますが、厄介さはどこかに隠れているのではないかと思います...
次の Microsoft Knowledge Base 記事を試してください: 32 ビット MS Excel で 16 ビット DLL を呼び出すマクロを実行できません。
DLL にアクセスするための適切な権限を持っていますか?
皆様のご意見をお寄せいただきありがとうございます。あなたは私がさらに大きな一歩を踏み出すのを助けてくれました。あなたが提供したガイドに従った後、私は得ました:実行時エラー: '-2147024894' (80070002)': ファイルまたはアセンブリ名 AssemblyName、またはその依存関係の 1 つが見つかりませんでした。
しかし、この回避策でそれを修正できました。