[讨论]VB如何突破CAD的版本问题?
VB如何突破CAD的版本问题?请教CAD如何在编程过程中突破CAD的版本问题,我开始以为是引用CAD的类型库,但是不行.只能有一个.请教各位大哥!
是不是通过搜索注册表可以选择启动AutoCAD的版本?
HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD键下列出的系统已经安装的AutoCAD版本.
或者你干脆写一段支持多个版本的代码,我看大家一般都这样写。主要就 GetObject 后面的字符不同嘛! Set AcadApp = GetObject(, "AutoCAD.application")
If Err Then
Err.Clear
Set AcadApp = CreateObject("AutoCAD.application")
If Err Then
Err.Clear
MsgBox "不能运行AutoCAD,请检查是否安装!", vbOKOnly
Exit Sub
End If
End If
AcadApp.Visible = True
AcadApp.WindowState = AutoCAD.AcWindowState.acMax
Set AcadDoc = AcadApp.ActiveDocument
AppActivate (AcadApp.Caption) 好强~~~~ 好像不行呀,
我以前试过,这种方法有问题
不要引用CAD的类型库
直接定义程序变量为Object
同4楼的调用方法,此种方法是调用当前运行的CAD,如果没有运行,就会启动最后一次运行的CAD版本
最好人CAD里面运行此程序,运行时,将CAD的版本发给VB程序,则在vb中,Set AcadApp = GetObject(, "AutoCAD.application." & ver)
如果CAD是16.0,则ver=16
如果从外部启动VB程序,则如果安装有多个CAD的话,可能启动的是最后一个,不过也可能是R14
页:
[1]