求高手指点,64位的autocad2012中文版AutoCAD/ObjectDBX不能用
win7的64位安装了64位的2012版中文版,AutoCAD/ObjectDBX技术不能用,在添加引用时,没有发现AutoCAD/ObjectDBX common 18.0 Type,在C:\Program Files\Common Files\Autodesk Shared也有axdb18enu.tlb文件,但就是选择后也无效,求高手指点。 知道原因了,CreateObject在2012下不能用,要用GetInterfaceobjet,引用也不是AutoCAD/ObjectDBX了,而是Axdlb,谢谢zzyong00 Dim objDbxPublic Sub AcDb_Initialize()
If Val(left(objCad.version, 2)) >= 16 Then
Set objDbx = objCad.GetInterfaceObject("ObjectDBX.AxDbDocument." & left(objCad.version, 2))
Else
MsgBox "Autocad版本不支持!", vbQuestion + vbOKOnly, App.Title
End If
End Sub
objCad是什么,不用我说了吧? Dim objDbx As Object
Dim objCad As AcadApplication
Public Sub AcDb_Initialize()
'Set objCad = ThisDrawing.Application
If Val(Left(objCad.Version, 2)) >= 16 Then
Set objDbx = objCad.GetInterfaceObject("ObjectDBX.AxDbDocument." & Left(objCad.Version, 2))
Else
MsgBox "Autocad版本不支持!", vbQuestion + vbOKOnly, App.Title
End If
End Sub
'运行时出现错误啊。 在64的cad2014版本下能用,可以加载引用。2012下还是不能引用的原因吧。
If VBA.Left(Version, 2) = "15" Then
Set ObjDbx = CreateObject("ObjectDBX.AxDbDocument.1")
ElseIf VBA.Left(Version, 2) = "16" Then
Set ObjDbx = CreateObject("ObjectDBX.AxDbDocument.16")
ElseIf VBA.Left(Version, 2) = "17" Then
Set ObjDbx = CreateObject("ObjectDBX.AxDbDocument.17")
ElseIf VBA.Left(Version, 2) = "18" Then
Set ObjDbx = CreateObject("ObjectDBX.AxDbDocument.18")
ElseIf VBA.Left(Version, 2) = "19" Then
Set ObjDbx = CreateObject("ObjectDBX.AxDbDocument.19")
End If
‘这是我写的程序。其他版本都能 这是错误提示。郁闷死人不。
页:
[1]