明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2130|回复: 6

运行VBA,死机的问题

[复制链接]
发表于 2008-6-19 14:39:00 | 显示全部楼层 |阅读模式

在VBA做关闭文件操作时,CAD命令栏出现“VBARUN”字样,之后就CAD死了,无法执行后续操作。

命令如下:

function CloseCAD()
.......
    If ThisDrawing.Application.Documents.count > 1 Then
       objDoc.Close False
    End If

     MsgBox "关闭成功"
End Sub

单步执行时执行到 End Sub结束,无法返回到主函数

什么原因呢?请高手解答

发表于 2008-6-19 17:04:00 | 显示全部楼层

VBA是针对thisdrawing运行的,thisdrawing都被你关掉了,怎么运行下去啊。

要用这个功能,还是用vb写吧

发表于 2008-6-19 17:06:00 | 显示全部楼层

function CloseCAD()

End Sub???

Function与End Sub配对?? 在这里不能用End Sub的,请把全部代码贴出来。

 楼主| 发表于 2008-6-19 21:35:00 | 显示全部楼层

If ThisDrawing.Application.Documents.count > 1 Then

所以ThisDrawing没有关光,可以的

function CloseCAD()

End Sub

写错了,源程序对的

发表于 2008-6-19 22:24:00 | 显示全部楼层
LZ,请把源程序贴出来,我看到的是function和end sub配对,执行到end sub的时候会出错。
发表于 2008-6-19 23:28:00 | 显示全部楼层

lsp只对当前的thisdrawing,在当前dwg中单独加载的lsp,在其他dwg中无效。

虽然不知道VBA是不是只针对当前的thisdrawing(可能不是),不过,thisdrawing关闭以后

虽然还有dwg文件打开着,但是thisdrawing这个object的handle应该是针对关闭的这个。

建议先set acad_doc= thisdrawing试试看。

 楼主| 发表于 2008-6-20 10:14:00 | 显示全部楼层

谢谢各位,我再试试

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 09:34 , Processed in 0.168939 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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