关闭AutoCAD对话框
我正在编写一个例程来清理来自外部来源的图纸。每隔一段时间,我就会遇到一个不稳定的图形,并抛出AutoCAD“检测到程序错误。建议您保存您的工作并重新启动程序。”有什么方法可以防止VBA中出现这种情况,或者有什么方法可以在VBA中关闭它?这是我写的一段代码。Sub dwgclean()
Set objFSO = New FileSystemObject
Set objFolder = objFSO.GetFolder(Me.txtFolderSource.Text)
For Each objFile In objFolder.Files
If objFile.Type = "AutoCAD Drawing" Then
WholeFile = Me.txtFolderSource.Text & "\" & objFile.Name
AutoCAD.AcadApplication.Documents.Open WholeFile
ThisDrawing.PurgeAll
ThisDrawing.PurgeAll
ThisDrawing.PurgeAll
ThisDrawing.PurgeAll
ThisDrawing.SendCommand ("-purge r *" & vbCr & "n" & vbCr)
ThisDrawing.AuditInfo True
"THIS IS WHERE I NEED THE DIALOGUE CLOSE!"
RemoveLayerFilters
DeletePageSetups
DeleteScaleList
ThisDrawing.AuditInfo True
ThisDrawing.SaveAs Me.txtFolderdestination.Text & "\" & objFile.Name
ThisDrawing.Close
End If
Next
deletebackup
End Sub
我已经在没有帮助的情况下尝试了“nomutt”、“expert”和“filedia”系统变量。如果你需要一个绘图示例,请告诉我,我会通过电子邮件发送。近10Mb。。。如果我能以某种方式模仿scriptpro关闭对话的能力,那么什么才是理想的呢。
姆拉贝尔
代码是否为VBA格式?
如果是这样,您可以使用
用户窗体。隐藏
这将关闭表单并继续
毫升 是的,我的代码在表格中。但是,当您多次审核图形以删除粘液时,错误对话框是与AutoCAD相关的对话框。无论是通过脚本、lisp还是vba进行审核,拨号都是标准警告,以让用户知道数据库中存在图形不稳定。
我的最终目标是合并一个scriptpro类型控件,它可以抑制任何AutoCAD对话框。。。 SendKeys "{ESC}" 这可能管用,阿斯米,好主意
在线路之后
ThisDrawing.AuditInfo True
放
SendKeys "{ESC}"
我相信您说过您已经尝试了filedia,设置为0?
如果这仍然不起作用,请告诉我,然后我可以尝试运行代码。
我看到你在使用FSO,我喜欢!我一直在用它!:)
毫升
如果上述想法不起作用,那么我可以让你用FTP将图纸传给我,这不会是一个问题
毫升 当图形与项目不关联时,这是否适用于绕过land desktop的弹出窗口?我一直试图永远绕开它。 嗨,艾伦
这是找到答案的一种方法
毫升 对不起,我应该更坦率一点。我对vba一无所知;我只知道lisp。我一直想学习vba,但我真的没有时间,而且我读到它将被取代。net for autocad。我不想麻烦地学习一门一两年后就会过时的语言(关于autocad的使用)。 嗨,艾伦
我正好相反,我对VB相当熟悉,对LISP知之甚少。
至于VBA是否会完全消失,我们拭目以待,然而,如果你使用VB的话。net的基础上,我可以告诉你,了解VBA将比LISP更好地为你服务。
话虽如此,英语中还有其他四种语言。net,因此您甚至可能不会决定以后使用VB
毫升
页:
[1]
2