iliekater 发表于 2007-10-23 17:02:33

关闭AutoCAD时的事件

当有人想在关闭一个绘图时启动某个事件时,他可以使用“此绘图”模块中的相应事件。然而,我希望李乐在整个节目结束时写点什么。那么,关闭AutoCAD时有类似的事件吗?
**** Hidden Message *****

iliekater 发表于 2007-10-23 19:30:05

我承认我不明白MsgBox的用法,但是谢谢;我要试一试!

Kerry 发表于 2007-10-24 01:04:48


我想只是为了演示事件可以被捕获,并且陷阱的返回值决定应用程序是否关闭。

iliekater 发表于 2007-10-24 01:52:27

我们有同样的想象力克里。
克里现在将在接下来的三个小时内消失,因为他蜷缩在胎儿的位置,在一个角落里,和他的巫比一起,问宇宙,“为什么?”

iliekater 发表于 2007-10-24 11:07:00

你能帮我多一点吗?我使用了代码,但我没有设法做任何事情。顺便说一句,我意识到
Public WithEvents ACADApp As AcadApplication
必须放在一个类模块中。
我还添加了其他两个子项 ,但是当我关闭AutoCAD时,没有任何反应......
实际上,我正在尝试做的是在AutoCAD关闭时删除临时文件 。你能帮我(再次)吗?

Kerry 发表于 2007-10-28 16:15:05

你可以把所有的代码放到这个绘图模块里,这个模块是IIRC的一个类模块。
我的第一个建议是在cod的第一行设置一个断点。关闭autocad。如果事件被触发,yousub将运行并在第一行停止。您可以使用F8一行一行地单步调试您的代码,注意结果,看看是否能找出问题所在。
我的零级假设是,你需要摆脱错误恢复,这样你的例行程序就可以在应该的时间和方式中断。
其次,如果您无法解决问题,请发布您的代码,这样我们就可以玩家庭游戏了。

Fatty 发表于 2007-10-28 23:20:45

我把所有的代码都放在ThisDrawing模块中,在第一行放了一个标记(Set ACADApp=......),仍然没有...这是我的全部代码:
Public WithEvents ACADApp As AcadApplication
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub Example_AcadApplication_Events()
    Set ACADApp = GetObject(, "AutoCAD.Application.16")
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub ACADApp_BeginQuit(Cancel As Boolean)
    '
    MySubmarine
    '
    If MsgBox("AutoCAD is about to shut down.Do you want to continue with the shutdown?", vbYesNoCancel + vbQuestion)vbYes Then
      Cancel = True
    End If
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub MySubmarine()
    Kill "c:\MyDamnStupidFile.txt"
End Sub
顺便问一下,.16代码是做什么的?

iliekater 发表于 2007-10-29 01:35:29


.16是AC2004
有几种方法可以在yoy使用不同版本的情况下错误捕获它。

Fatty 发表于 2007-10-29 04:49:53

哦,好的。但是嘿!你怎么知道我在使用AutoCAD 2004 ? ? ? ! ! ! !

iliekater 发表于 2007-10-29 07:32:14

我有一个我之前在lisp上写的,你可以在VBA上翻译代码3]
页: [1] 2
查看完整版本: 关闭AutoCAD时的事件