在没有文档打开时使用

AutoCAD ActiveX/VBA

 
在没有文档打开时使用
 
 
 

AutoCAD 通常在启动时会打开一个新的或现有文档。但也可以关闭当前任务中的所有文档。

如果关闭 AutoCAD 用户界面中的所有文档,应用程序窗口将发生一些改变。可用的菜单只剩下“文件”、“视图”、“窗口”和“帮助”。并且这些菜单中的可用选项也相应减少。此外还会注意到没有显示命令行。

与此类似,ActiveX 接口在没有文档打开时只允许执行以下操作:

  • 打开文档
  • 创建新文档
  • 输入文档
  • 用户可以退出 AutoCAD。

这些操作都可以从 Documents 集合中找到。在没有文档打开时,除了 Application 对象的一些有限方法和特性外,Documents 集合的方法和特性是唯一有效的可用接口。如果执行任何其他操作(例如试图访问用户选项),都会导致错误。

使用 Documents 集合中的 Count 特性可以确定 AutoCAD 是否处于零文档状态。如果 Documents.Count = 0,则 AutoCAD 处于零文档状态。如果 Documents.Count > 0,则至少打开了一个图形。

此外还要特别注意,当 AutoCAD 处于零文档态时,VBA 中不会定义 ThisDrawing 对象。这种情况是合理的,因为 ThisDrawing 通常是指活动的图形,而在零文档状态下没有图形处于打开状态。如果试图执行使用了 ThisDrawing 的宏,将导致运行错误。为避免此类错误,在没有文档打开时,请使用 VBA 的 GetObject 函数并指定 AutoCAD 的版本来获取与 AutoCAD 的连接。