明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1299|回复: 3

在vb中打开2004图形时出错

[复制链接]
发表于 2003-10-12 16:57:00 | 显示全部楼层 |阅读模式
此段程序在r14时使用正常,r2004中修改了版本类型,可打开r2004的程序,却无法打开
图形,也不提示出错,不知为何?请斑竹指教
On Error Resume Next
   Set acadapp = GetObject(, "AutoCAD.application.16")
   If Err Then
     Err.Clear
     Set acadapp = CreateObject("AutoCAD.application.16")
        If Err Then
           MsgBox Err.Description
           Exit Sub
        End If
   End If
Set acaddoc = acadapp.activedocument
    acadapp.Activate
    acadapp.Application.Visible = True
    acadapp.Windows(1).Visible = True
    acaddoc.open (c:\1.dwg)
发表于 2003-10-12 17:06:00 | 显示全部楼层
我的这段没有什么问题,你参考参考吧
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
Set acaddoc = acadapp.activedocument
For i = 0 To File1.ListCount - 1 Step 1
  If File1.Selected(i) Then '对列表文件进行处理
    a = Path + File1.List(i)
    File1.Selected(i) = False
    acaddoc.apen a
    acaddoc.activeviewport.zoomall
    acaddoc.purgeall
    acaddoc.purgeall
    acaddoc.purgeall
    acaddoc.purgeall
    acaddoc.purgeall
     MkDir "d:\jianfei"
    acaddoc.saveas "d:\jianfei\" & File1.List(i) & ".dwg"
发表于 2003-10-12 17:18:00 | 显示全部楼层
错误多多。
acadapp.Activate?应用程序有这个属性吗?应该为caddoc.Activate吧。
acadapp.Application.Visible = True
文档为应用程序的一个子对象,两者的顺序应该调换一下吧。先显示acadapp,再激活acaddoc比较合乎情理吧。
acadapp.Windows(1).Visible = True?这个从哪里冒出来的Windows?
acaddoc.open (c:\1.dwg)?y文件名应该为字符串的形式,不加双引号运行通过?
在R14中,由于是单文档的形式,故可以采用acaddoc和new和open的方法,而在R2000之后,采用的是多文档的形式,所以要使用文档集合的add和open方法才行。

SDI 系统变量  
控制 AutoCAD 运行于单文档还是多文档界面。帮助第三方程序发展商更新应用程序以便与 AutoCAD 多图形模式顺利兼容。

0 打开多图形界面。
1 关闭多图形界面。
2 (只读)禁用多图形界面,因为 AutoCAD 已加载不支持多图形模式的应用程序。SDI 的设置 2 不被保存。
3 (只读)禁用多图形界面,因为用户将 SDI 设置为 1 并且 AutoCAD 已加载不支持多图形模式的应用程序。(加载应用程序之前将 SDI 设置为 1。)SDI 的设置 3 不被保存。


如果 SDI 设置为 3,则卸载不支持多图形的应用程序后 AutoCAD 会将其切换回 1。
 楼主| 发表于 2003-10-12 19:28:00 | 显示全部楼层
问题找到了,错在应在Documents集合中执行open

acadapp.Documents.Open ("c:\1.dwg")即可
谢谢斑竹
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 12:56 , Processed in 0.147879 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表