La colección Documents y el objeto Document proporcionan acceso a las funciones de archivos de AutoCAD®.
Para crear un nuevo dibujo o abrir uno ya existente, utilice los métodos de la colección Documents. El método Add crea un dibujo nuevo y lo añade a la colección Documents. El método Open abre un dibujo existente. La colección de documentos también cuenta con un método Close que cierra todos los dibujos abiertos en la sesión de AutoCAD.
Para guardar los dibujos, utilice cualquiera de los métodos Save o SaveAs Ocasionalmente deseará comprobar si el dibujo activo tiene cambios sin guardar. Es conveniente hacer esto antes de salir de la sesión de AutoCAD o comenzar un nuevo dibujo. Utilice la propiedad Saved para asegurarse de que el dibujo actual no contiene cambios sin guardar.
Para importar y exportar dibujos, utilice los métodos Import y Export del objeto Document.
Apertura de un dibujo existente
En este ejemplo se utiliza el método Open para abrir un dibujo existente. Se usa la función Dir de VBA para comprobar si existe el archivo antes de intentar abrirlo. Cambie el nombre del archivo de dibujo o su ruta de acceso para especificar un archivo de dibujo de AutoCAD existente en el sistema.
Sub Ch3_OpenDrawing()
Dim dwgName As String
dwgName = "c:\campus.dwg"
If Dir(dwgName) <> "" Then
ThisDrawing.Application.Documents.Open dwgName
Else
MsgBox "File " & dwgName & " does not exist."
End If
End Sub
En este ejemplo se utiliza el método Add para crear un dibujo basado en la plantilla por defecto.
Sub Ch3_NewDrawing()
Dim docObj As AcadDocument
Set docObj = ThisDrawing.Application.Documents.Add
End Sub
En este ejemplo se guarda el dibujo activo con el nombre actual y una segunda vez con otro nombre.
Sub Ch3_SaveActiveDrawing()
' Save the active drawing under the current name
ThisDrawing.Save
' Save the active drawing under a new name
ThisDrawing.SaveAs "MyDrawing.dwg"
End Sub
Comprobación de posibles cambios sin guardar en un dibujo
En este ejemplo se comprueba si el dibujo contiene cambios pendientes de guardar y se pregunta al usuario si desea guardarlos (si la respuesta es negativa, omita estos pasos hasta el final). Si la respuesta es afirmativa, utilice el método Save para guardar el dibujo actual, como se muestra a continuación:
Sub Ch3_TestIfSaved()
If Not (ThisDrawing.Saved) Then
If MsgBox("Do you wish to save this drawing?", _
vbYesNo) = vbYes Then
ThisDrawing.Save
End If
End If
End Sub