How can I use a VB6 COM 'reference' in IronPython?
Question: I'm currently developing what is more or less a script that needs to get some
data from a VB 6 COM dll. This dll is currently used in a MS Word VBA project,
and it exports classes, etc to the VBA code. It is added in the Tools ->
References menu in the VBA editor, and I can see it's classes in the object
browser of VBA.

From my readings, it is possible to use a VB6 COM library in VB.NET (or at
least, it is supposed to be able to.) As it should be possible in VB.NET, and
since .NET runs on the CLR, and since IronPython does to, logically, can't i
access this ancient DLL from IronPython?

I have tried `import clr; clr.AddReferenceToFileAndPath(dllpath)` in
IronPython, but keep getting 'IOError: file does not exist', which is clearly
false.

If anyone can point me to using a VB6 COM object in /any/ .NET language, that
would be greatly appreciated.

Thanks!

PS: No, I can't edit / view source of the COM DLL, it's 3rd party proprietary
stuff. PPS: Any way I can get the GUID / COM 'name; of the dll?


Answer: You need to generate a Runtime COM Wrapper assembly using the `tlbimp` tool,
and add a reference to that; languages which support .net attributes can do
the interoperation explicitly, but even there, autogenerating the wrapper is
far simpler.

Inspecting the wrapper assembly in `ildasm` will show exactly how the
conversion has been performed.

