What does your UDT look like?

Could you create a COM version of your UDT and write a function that converts it from the VBA to the COM, basically just copying each property and then pass the COM version to the COM object? It sounds like you tried something like this, but I think you are going to have to copy each property individually to the COM object.