我通常使用COM引用连接到CorelDRAW。 每个版本的Corel都会创建特定的interop dll(CorelDRAW类型库和VGCore类型库)。如果我想在X3-X6之间更改Corel版本,那么我必须更改这两个dll。
当然我可以使用以下方法直接连接到任何版本的Corel:
Dim obj As Object
obj = DirectCast(Activator.CreateInstance(Type.GetTypeFromCLSID(New Guid(guidNo))), Object)
其中“guidNo”是具有特定GUID的字符串,用于连接到特定的Corel版本。它工作但是...我需要在CorelDraw类型中创建对象,如“Shape”,“Segment”等。
如果我将尝试使用现有的CorelDRAW.Application对象(例如从版本X3)并使用它连接到X6,那么有些东西将不再起作用。但奇怪的是,我可以用这种方法做任何事情。