回答受付が終了しました

ID非公開

2022/5/15 12:12

11回答

34.5年余り、ソフトウェア開発を行ってきましたが、わけあって転職しました。

回答(1件)

0

割と最近、同じようなことをやったことがあって、その時にメモったことを紹介します。ただし、C#なので役に立たないかも。VB.Netのことは知見がありません。 コマンドプロンプトを使う場合は、管理者権限で起動しておきます。 <簡単な方法> VisualStudioの「出力先」を指定 64bitならWindows/System32、 32bitなら Windows/SysWOW64 VisualStudio「ビルド」で「COM相互運用機能の登録」にチェックを入れる。 ビルドする。これだけで、VBAの参照設定に表示されるようになります。 <面倒なやりかた> VisualStudioの「出力先」を指定 64bitならWindows/System32、 32bitなら Windows/SysWOW64 ビルドしたらdllとtlbが作成されます。 あとは、こんな感じで、regasm.exe に、dllのパスを渡します。 regasm.exeの場所は環境によって異なるらしいです。 "C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" "C:\Windows\System32\hoge.dll" /tlb /codebase <エラーが起きたら> RegAsm:エラーRA0000:エクスポートファイルの保存中にエラーが発生しました タイプライブラリ:アクセスが拒否されました。 対処法1: regasmを実行するアカウントに書き込みの権限が無い場合、regasmが.tlbの書き込みに失敗します。管理者権限を持つアカウントでregasmを実行します。 対処法2: 管理者で書き込みをしてもエラーになる場合は、エントリーを右クリックしてプロパティ、セキュリティタブにアクセスし、編集をクリックしてアクセス許可を有効にし、フルコントロールにします。 対処法3: IISを停止して、regasmを実行する コマンドプロンプトを管理者権限で起動し、次のコマンドを実行します。 iisreset /stop

ID非公開

質問者2022/5/15 15:14

ご回答ありがとうございます。 VBでビルドしたPCではビルド後にAccessのVBAで参照設定ができ、VBAでVBと同じ使い方でDLLが使えるのを確認しています。 解らないのは他のPCにもっていつた時に必要となるらしいregasmについてです。 私の質問内容について、詳しい内容をご存知でしたら、教えてください。 よろしくおねがいします。