请教:我用下面的语句启动AutoCAD时为什么总提示:“Error loading dialog control file”? 但在外面正常启动没有什么错误提示。
Dim acadApp As Object
On Error Resume Next
Set acadApp = GetObject(, "AutoCAD.Application")
If Err Then
    Err.Clear
    Set acadApp = CreateObject("AutoCAD.Application")
    If Err Then
        MsgBox Err.Description
        Exit Sub
    End If
End If
acadApp.Visible = True

解决方案 »

  1.   

    你的环境?
    操作系统,AutoCAD版本,VB版本
    我试了好像没问题嘛(我的2000Sever、CAD 2000、VB6 )
      

  2.   

    我用的 AutoCAD R14在XP操作系统下、VB6
      

  3.   

    上面纠正一下,在Win98下好象出现了上述问题,在Xp下好象没有错误提示。不知道是否跟操作系统有关?
      

  4.   

    '建立AutoCAD应用程序
    Public AcadApp As AcadAppl'建立AutoCAD应用程序
    Public Sub ConnectAutoCAD()
      On Error Resume Next
      Set AcadApp = GetObject(, "AutoCAD.Application")
      if Err Then
         Err.Clear
         Set AcadApp = CreateObject("AutoCAD.Application")
         If Err Then
              MsgBox ("不能运行AutoCAD软件,请检查是否安装了AutoCAD!")
              Exit Sub
          End If
      End If
      AcadApp.Visible = True
      AcadApp.WindowState = acMax
    End Sub
    Public Sub Open_DXF_File(MyFileDir As String)
      
      ConnectAutoCAD
      If Dir(MyFileDir) <> "" Then
          AcadApp.Documents.Open MyFileDir
     Else
          MsgBox ("文件" & MyFileDir & "不存在!")
      End If
    End Sub
    试试看
      

  5.   

    我估计是属于运行环境的问题,你不要去运行那个exe文件,去运行它的快捷方式试一下。
      

  6.   

    还有就是在vb中,启动其他程序之前,将当前的工作目录转移到要启动的程序目录下,在去启动,也就是想办法让curdir返回的目录是autocad的目录,不是你的工程或者vb的目录。
      

  7.   

    我一直都用下面的代码启动AutoCAD
    Public AcadApp As AcadApplication
    Public Sub Connect_CAD()                '连接AutoCAD
    On Error Resume Next
    Set AcadApp = GetObject(, "AutoCAD.Application")
                                            '获得对象
    If Err Then
        Err.Clear
        Set AcadApp = CreateObject("AutoCAD.Application")
                                            '创建对象
        If Err Then
            MsgBox "无法启动AutoCAD!" & Chr(13) & Chr(13) & _
                "错误号:" & Err.Number & Chr(13) & _
                "错误内容:" & Err.Description, 16 + vbOKOnly
            Exit Sub
        End If
    End If
    AcadApp.Visible = True                  '可见
    AcadApp.WindowState = acMax             '最大化
    End Sub