If may use activex dll in your project without referencing it - it's called "Late Binding":

Set myDll = CreateObject("MyDll.MyClass")

The only thing is dll must be registered so you'd have to distribute it with every project that needs it.