khidigis 发表于 2008-7-23 08:23:00

请问在VBA中如何调用CAD程序打开DWG文件

请问在VBA中如何调用CAD程序打开DWG文件
ShellExecute 0, "open", dwgfile, vbNullString, vbNullString, vbNormalFocus //运行不通过,提示没有这个函数定义
Shell "acad.exe " + dwgfile //找不到acad.exe文件
Shell "c:\program files\2005\acad.exe" + dwgfile//这样可以运行,但是把路径写死了
有个办法:找到acad.exe程序路径,但不知道如何寻找

英雄无敌 发表于 2008-7-23 21:41:00

通过注册表可以找到ACAD.exe的路径,但如果要打开某一个DWG,在VBA中,你不能直接使用thisdrawing.open ,或者ThisDrawing.Application.Documents.Open来打开图吗?

wuyunpeng888 发表于 2008-7-24 23:00:00

你是想用VB还是想用VBA,是Office的VBA还是CAD的VBA?
Private WithEvents acadApp As AcadApplication
Private WithEvents acadDoc As AcadDocument
Set acadApp = GetObject(, "AutoCAD.Application")
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application")
If Err Then
    MsgBox "ErrorNumber:" & Err.Number & vbNewLine & "Source:" & Err.Source & vbNewLine & Err.Description, 16 ' "无法运行AutoCAD2000,请检查是否安装了AutoCAD 2000", 16
    Set acadApp = Nothing
    End
End If
End If
acadApp.WindowState = acMax
acadApp.Visible = True
Set acadDoc = acadApp.Documents.Add    '添加文档
acadDoc.Open "c:\aa.dwg"
页: [1]
查看完整版本: 请问在VBA中如何调用CAD程序打开DWG文件