C#で作成したDLLをExcelVBAで利用するにはregsvr32じゃなくてRegAsm.exeを使う

.NET で作成した COM 対応コンポーネントのレジストリ登録には regasm.exe を利用する。

regasm.exe /codebase XXX.DLL

登録解除するには /u。

regasm.exe /u XXX.dll


regasm.exeにはパスが通ってないので、

C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe

とかで。



ちなみにcodebaseというのは DLL の読み込み場所を指定する方法のこと。
regsvr32で登録するのと同じイメージでいいのかな。


ネタ元