Lúc nào AutoCAD cũng khởi động với một bản vẽ mới hoặc một bản vẽđã có. Tuy nhiên, cũng có lúc mà không có bản vẽ nào được mở trong suốt phiên làm việc của AutoCAD.
Nếu ta đóng tất cả các bản vẽ trong giao diện người dùng AutoCAD, ta sẽ chú ý thấy có một vài thay đổi trong cửa sổ ứng dụng. Các trình đơn có hiệu lực được giảm thiểu chỉ còn File, View, Window, và Help. Trong các trình đơn này, các lựa chọn cũng được giảm thiểu. Cũng cần phải chú ý rằng không còn dòng lệnh trong giao diện của AutoCAD.
Tương tự như vậy, giao tiếp ActiveX chỉ cho phép một số thao tác sau khi không có bản vẽ nào được mở:
Mở một bản vẽ Tạo một bản vẽ mới Nhập một bản vẽ Thoát khỏi AutoCAD
Những thao tác này đều có trong tập đối tượng Documents. Bên cạnh tập phương thức và thuộc tính khá hạn chế của đối tượng Application, các phương thức và thuộc tính trong tập đối tượng Documents là giao tiếp duy nhất có hiệu lực khi không có bản vẽ nào được mở. Nếu thực hiện các thao tác khác, chẳng hạn như cố tình truy cập vào các lựa chọn của người dùng, thì sẽ phát sinh lỗi.
Ta sử dụng thuộc tính Count trong tập đối tượng Documents để kiểm tra xem AutoCAD có ở trạng thái không có bản vẽ nào không. Nếu Documents.Count=0
có nghĩa là AutoCAD ở trạng thái không có bản vẽ nào. Nếu
Documents.Count>0 thì có nghĩa là đã có ít nhất một bản vẽđược mở.
Cần phải đặc biệt lưu ý rằng trong VBA, đối tượng ThisDrawing không được định nghĩa khi AutoCAD ở trạng thái không có bản vẽ nào. Đó là do đối tượng
ThisDrawing tham chiếu đến bản vẽ hiện hành và do vậy khi ở trạng thái không có bản vẽ nào mở thì việc cố gắng thực hiện lời gọi đến một Macro nào đó sử dụng đối tượng ThisDrawing sẽ làm phát sinh lỗi khi chạy chương trình (lỗi run-time).
Phát triển AutoCAD bằng ActiveX và VBA||8899
Để tránh lỗi này, ta sử dụng một hàm VBA là GetObject để tạo kết nối với AutoCAD khi không có bản vẽ nào được mở.