概要 - 図面を開く、保存する、閉じる(VBA/ActiveX)

AutoCAD ファイルの機能にアクセスするには、Documents コレクションおよび Document オブジェクトを使用します。

図面を新規作成したり、既存の図面を開いたりするには、Documents コレクションに対してメソッドを使用します。Add メソッドは、図面を新規作成し、その図面を Documents コレクションに追加します。Open メソッドは、既存の図面を開きます。Documents コレクションには、AutoCAD セッションで開いたすべての図面を閉じる Close メソッドもあります。

図面を保存するには、Save メソッドまたは SaveAs メソッドを使用します。アクティブな図面に保存されていない変更がないかどうか調べたい場合があります。AutoCAD セッションを終える前に、または新規図面の開始前に、このような確認を行うことをお勧めします。現在の図面に未保存の変更が含まれていないことを確認するには、Saved プロパティを使用します。

図面を読み込むまたは書き出すには、Document オブジェクトで Import メソッドまたは Export メソッドを使用します。

既存の図面を開く。

以下の例は、Open メソッドを使って既存の図面を開きます。ファイルを開く前にその有無をチェックするために VBA の Dir 関数を使用しています。お使いのシステムの既存の AutoCAD 図面ファイルを指定するには、図面ファイルの名前またはパスを変更する必要があります。

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

新しい図面を作成する

以下の例では、Add メソッドを使って、既定のテンプレートに基づいて新規図面を作成します。

Sub Ch3_NewDrawing()
  Dim docObj As AcadDocument
  Set docObj = ThisDrawing.Application.Documents.Add
End Sub

アクティブな図面を保存する

以下の例は、現在の名前でアクティブな図面を保存し、再度新しい名前で保存します。

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

図面に未保存の変更がないかテストする

以下の例は、未保存の変更がないかどうかをテストし、ユーザに図面を保存してよいかどうかを確認します(OK でなければ、最後にスキップします)。OK ならば、次のように Save メソッドを使用して現在の図面を保存します。

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