Here's an article about Early and Late Binding:
https://support.microsoft.com/en-us/kb/245115.
An essential distinction between early binding and late binding is that, to use early binding, you must set a reference to the application (in this case AutoCAD) in the VBE via Tools|References. Once you do that, though, you can use all of the application's methods, procedures and properties much more easily than you can using late binding.
Using early binding, your code might become:
Code:
Sub Convert_dxf()
Dim AcadApp As AutoCAD.Application
Dim AcadDoc As AutoCAD.Document
Dim SS As AutoCAD.AcadSelectionSet
Set AcadApp = New AutoCAD.Application
With AcadApp
.Visible = False
Set AcadDoc = .Documents.Open("C:\drawing.dxf")
With AcadDoc
Set SS = .SelectionSets("SS")
.Export "C:\drawing.wmf", "WMF", SS
.Close SaveChanges:=False
End With
.Quit
End With
Set SS = Nothing: Set AcadDoc = Nothing: Set AcadApp = Nothing
End Sub
Note: I don't have AutoCAD, so I don't know what it's VB object model looks like or what methods, procedures and properties are available. Accordingly, you'll have to do your own work on that front. For testing purposes, you'll also want to comment-out the line:
.Visible = False
otherwise you could end up with a plethora of hidden and orphaned AutoCAD sessions running in the background.