乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 334|回复: 14

ACADApp_Beginquirt事件

[复制链接]

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2008-1-18 13:35:06 | 显示全部楼层 |阅读模式
您好
当我关闭ACAD时,我正试图切换当前的活动工作区
但是,我收到一个错误“获取文档对象失败”
有人知道解决方法吗
谢谢
马克
  1. Private Sub ACADApp_BeginQuit(Cancel As Boolean)
  2. Dim CurrSysVarData As Variant
  3. Dim SysVarName As String
  4. Dim NewSysVarData As String
  5. SysVarName = "WSCURRENT"
  6. CurrSysVarData = ThisDrawing.GetVariable(SysVarName)
  7. NewSysVarData = "Exit"
  8.   If CurrSysVarData  "Exit" Then
  9.     ThisDrawing.SetVariable SysVarName, NewSysVarData
  10.     If MsgBox("Would you like to save this drawing?", vbYesNo) = vbYes Then
  11.      ThisDrawing.Save
  12.      Application.Quit
  13.     Else
  14.      Application.Quit
  15.      Exit Sub
  16.     End If
  17.   End If
  18. End Sub

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

0

主题

12

帖子

5

银币

初来乍到

Rank: 1

铜币
12
发表于 2008-1-18 14:19:03 | 显示全部楼层
问题在于,您可以在不关闭应用程序的情况下关闭所有图形,并且无法在打开文档的情况下进行更改。您需要做的是检查打开了多少文档,如果=1,则设置var,然后关闭。如果是医生。计数>1,什么也不做
回复

使用道具 举报

0

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
9
发表于 2008-1-18 15:07:55 | 显示全部楼层

酷CM!
我不会想到这个,但它很有意义
是的,如果没有绘图(对象)可以处理,它怎么能对文档(绘图)做某事
谢谢!
Mark
回复

使用道具 举报

0

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
8
发表于 2008-1-21 10:45:19 | 显示全部楼层
CM
此方法:
  1. If Documents.Count > 0 Then
  2.   GoTo Continue
  3. Else
  4.   Exit Sub
  5. End If
  6. Continue:
  7. MsgBox "Do Something"

在自己的子例程中工作,但不与我的ACADAP_Beginquirt代码一起工作
标记
回复

使用道具 举报

0

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2008-1-21 11:57:56 | 显示全部楼层
CM
当我将该代码放入应用程序事件时;它仍然说,无法获取文档对象。
我想知道这是否是因为我处于对象级事件中?
Mark
回复

使用道具 举报

0

主题

6

帖子

6

银币

初来乍到

Rank: 1

铜币
7
发表于 2008-1-21 15:17:54 | 显示全部楼层
好的
,我认为这里的问题是,在关闭之前的事件(即使它说在关闭之前),我认为它在运行事件之前关闭了所有图形;因此我得到了一个失败的文档错误。
这是一个有趣的问题。
可能是一个 Do While Application.documents > 0 将起作用。
我不知道。
马克
回复

使用道具 举报

0

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
9
发表于 2008-1-21 16:45:51 | 显示全部楼层
很久以前我就遇到了这个问题,兰德尔给了一个解决方法。 不幸的是,就目前而言,他给我的程序已经不再使用它,因此代码不再存在。 当我有机会时,我会挖掘我的档案,看看我是否能找到它。
只是一个想法,如果你在不保存它的情况下关闭绘图,那么你所处的空间没有任何区别,对吗? 硬币的另一面是,你真正想做的是确保它在适当的空间里节省时间。 因此,您可以改用 BeginSave 事件。
回复

使用道具 举报

0

主题

11

帖子

7

银币

初来乍到

Rank: 1

铜币
14
发表于 2008-1-21 17:59:09 | 显示全部楼层

嘿Bob
这是一个非常好的主意,但我不能诚实地说我每次关闭时都会保存绘图。
现在我正在使用工作正常的ACADApp_SysVarChanged事件。
我切换工作区,它可以完成我需要的所有事情,只是我不经常记得这样做。
所以,我认为ACAD在关闭时为我切换会很好。
马克
回复

使用道具 举报

0

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
9
发表于 2008-1-21 18:08:37 | 显示全部楼层
这正是我的观点。 如果不保存图形,则当图形关闭时,它所在的空间无关紧要,因为,好吧,您没有保存。
回复

使用道具 举报

0

主题

4

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2008-1-21 18:22:24 | 显示全部楼层

哦,是的,对不起,我错过了。我不确定
(在这一点上)空间与它有什么关系,但答案是,不,这并不重要。
马克
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 07:48 , Processed in 0.527752 second(s), 83 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表