乐筑天下

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

通过VBA关闭AutoCAD对话

[复制链接]

2

主题

14

帖子

3

银币

初来乍到

Rank: 1

铜币
25
发表于 2008-9-3 10:34:55 | 显示全部楼层 |阅读模式
我正在编写一个例程来清理来自外部的绘图。发生的事情是,我偶尔会遇到一个不稳定的绘图,并抛出AutoCAD“检测到程序错误”。建议您保存工作并重新启动程序。有什么方法可以防止这种情况在VBA出现,或者在VBA有什么方法可以关闭它?这是我写的一段代码。
  1. Sub dwgclean()
  2.   Set objFSO = New FileSystemObject
  3.   Set objFolder = objFSO.GetFolder(Me.txtFolderSource.Text)
  4.   For Each objFile In objFolder.Files
  5.      If objFile.Type = "AutoCAD Drawing" Then
  6.      WholeFile = Me.txtFolderSource.Text & "" & objFile.Name
  7.      AutoCAD.AcadApplication.Documents.Open WholeFile
  8.         ThisDrawing.PurgeAll
  9.         ThisDrawing.PurgeAll
  10.         ThisDrawing.PurgeAll
  11.         ThisDrawing.PurgeAll
  12.         ThisDrawing.SendCommand ("-purge r *" & vbCr & "n" & vbCr)
  13.         ThisDrawing.AuditInfo True
  14.         RemoveLayerFilters
  15.         DeletePageSetups
  16.         DeleteScaleList
  17.         ThisDrawing.AuditInfo True
  18.         ThisDrawing.SaveAs Me.txtFolderdestination.Text & "" & objFile.Name
  19.         ThisDrawing.Close
  20.      End If
  21.    Next
  22.    deletebackup
  23. End Sub

我已经在没有帮助的情况下尝试了“nomutt”、“expert”和“filedia”系统变量。如果你需要一个绘图的例子让我知道,我会通过电子邮件发送。几乎10Mb...如果我能以某种方式模仿scriptpro关闭对话的能力,那该有多好。

3tmuerdnnn3.png

3tmuerdnnn3.png

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

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

使用道具 举报

85

主题

404

帖子

7

银币

中流砥柱

Rank: 25

铜币
751
发表于 2008-9-3 10:43:32 | 显示全部楼层
如果您知道是哪一行导致了问题,您可以使用“错误恢复下一步”。如果问题不在VBA中,则可能无法解决。
示例:

此绘图。PurgeAll<br>在出现错误时,继续下一个<br>此绘图。SendCommand(“-purge r*”&vbCr和“n”&vbCr)
,错误转到0<br>此绘图。这是真的吗
回复

使用道具 举报

2

主题

14

帖子

3

银币

初来乍到

Rank: 1

铜币
25
发表于 2008-9-3 10:49:29 | 显示全部楼层
是的,当您审核不稳定的图形时,它是标准的AutoCAD消息。 我也尝试从vba运行恢复,但消息仍然出现...
另外,“摇晃”是什么意思?
回复

使用道具 举报

2

主题

14

帖子

3

银币

初来乍到

Rank: 1

铜币
25
发表于 2008-9-3 10:50:11 | 显示全部楼层
我使用脚本处理外部图形。这样,如果它像你的一样崩溃,我就能看到它停在哪里了。我仍然使用VBA来清理它。
回复

使用道具 举报

2

主题

14

帖子

3

银币

初来乍到

Rank: 1

铜币
25
发表于 2008-9-3 10:50:52 | 显示全部楼层
这意味着它断裂或失败。
回复

使用道具 举报

7

主题

42

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2008-9-3 10:53:48 | 显示全部楼层
摘自《澳大利亚初学者英语》
回复

使用道具 举报

2

主题

14

帖子

3

银币

初来乍到

Rank: 1

铜币
25
发表于 2008-9-3 10:55:24 | 显示全部楼层
脚本可以工作,但不像整个VBA。我没有发布的代码复制了整个目录,破坏了任何令人讨厌的文件类型,并提出了我们关心的放在服务器上的东西。还有一堆如果其他事情也能完成,则永远无法通过脚本完成,这是我正在创建的整个应用程序的一部分。最终产品将是一个检查层和标准符合的审计例程...
我想这里的整体问题是例程没有崩溃,它正在暂停输入。这是我不想要的,因为我正在处理整个图纸目录。
回复

使用道具 举报

7

主题

42

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2008-9-3 11:48:53 | 显示全部楼层
我正在做同样的事情,我的意思是从脚本调用您的vba,这样如果它崩溃,您可以看到它停止的位置。我意识到崩溃是错误的词,但你知道我的意思。我有一个非常相似的程序,用于检查来自顾问的内容、运行审计、清除、检查层、线型、字体、暗淡等。
回复

使用道具 举报

2

主题

14

帖子

3

银币

初来乍到

Rank: 1

铜币
25
发表于 2008-9-3 13:07:11 | 显示全部楼层
但是对话不是VBA代码出错的结果,而是绘图数据库损坏的结果,AutoCAD 2008现在有一种方法可以警告用户数据库损坏,而不是稍后崩溃。如果您运行AutoCAD脚本来审核绘图,它会抛出相同的错误。用户每天都会遇到这种情况,因为我们每次打开绘图都会对它们进行审核。
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2008-9-5 06:13:56 | 显示全部楼层
好吧,我们又见面了…我在另一个论坛上监测了你的帖子,等着看你是否上传了一张有错误的图片-这样我就可以重现对话框,并尝试编写代码来关闭窗口
如果您或其他阅读本文的人有一张在检查错误时将生成上述对话框的图纸,请将其上载…以便我可以尝试为其编码…
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-4 00:48 , Processed in 1.477441 second(s), 77 queries .

© 2020-2025 乐筑天下

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