[用户交互] 如何启动指定的AutoCAD版本画图
我们画图的时候一般都是先用GetObject、CreateObject来连接或者启动CAD。但是如Set acadapp = GetObject(, "AutoCAD.Application")Set acadapp = CreateObject("AutoCAD.Application")
之类的启动方式,只能启动默认的CAD版本,或者是已经打开的CAD版本画图,那怎么启动我们指定的版本呢?没错,就在"AutoCAD.Application"里面加上版本号就OK了。方法见如下:
1.先把安装在电脑中的版本都搜索出来:方法及图见http://hi.baidu.com/kakanimo/blog/item/22f6fed2185887d8a9ec9ac8.html
2.点击按钮的时候先判断选了哪个版本,然后动态设置"AutoCAD.Application"中启动的CAD版本号。Private Sub Command4_Click()
Dim i As Integer
For i = 0 To 13
If Option1(i).Value = True Then
Select Case i
Case 0 To 1
'"AutoCAD 2002"
class = "AutoCAD.Application.15"
Case 2 To 3
' "AutoCAD 2004"
class = "AutoCAD.Application.16"
Case 4 To 5
' "AutoCAD 2005"
class = "AutoCAD.Application.16.1"
Case 6 To 7
'"AutoCAD 2006"
class = "AutoCAD.Application.16.2"
Case 8 To 9
'"AutoCAD 2007"
class = "AutoCAD.Application.17"
Case 10 To 11
' "AutoCAD 2008"
class = "AutoCAD.Application.17.1"
Case 12 To 13
'"AutoCAD 2009"
class = "AutoCAD.Application.17.2"
End Select
Exit For
End If
Next
Call AcadOpen_2
End Sub
各版本的版本号见上面代码中。下面就是连接代码,都已经注释的很详细了。
Public Function AcadOpen_2()
Dim runing As Boolean '是否已经有运行的版本
runing = True '当它已经启动CAD了
On Error Resume Next '进行出错的处理
Set acadapp = GetObject(, class)
If Err Then '如果AutoCAD应用程序启动失败,进行下面的处理
Err.Clear
Set acadapp = CreateObject(class)
runing = False '原来没有启动,是新启动的CAD
If Err Then '启动AutoCAD出错处理
MsgBox Err.Description
End If
End If
acadapp.Visible = True '设置cad可见
If runing = True Then '表明已经运行,就新建一个文档
acadapp.Documents.Add '增加一个文档
End If '新打开CAD,这个时候自动会增加一个文档,所以这里不需要加
End Function
-----------------这样就连接上了指定的CAD啦。
页:
[1]