概要 - 画層設定を保存する(VBA/ActiveX)

Save メソッドを使用して、画層設定を図面に保存します。

Save メソッドは 2 つのパラメータを受け入れます。最初のパラメータは、画層設定に付ける名前の文字列です。2 つめのパラメータは保存したい画層のプロパティを指定します。画層のプロパティを示す次の表の定数を使用します。

画層のプロパティの定数
定数名 Layer プロパティ
acLsAll すべての画層設定
acLsColor
acLsFrozen フリーズ/フリーズ解除
acLsLineType 線種
acLsLineWeight 線の太さ
acLsLocked ロック/ロック解除
acLsNewViewport 新しいビューポートで画層をフリーズ/フリーズ解除
acLsNone なし
acLsOn 表示/非表示
acLsPlot 印刷する/しない
acLsPlotStyle 印刷スタイル

複数のプロパティを指定するには、必要な定数を加算してください。

既に存在する名前で設定を保存しようとすると、エラーが返されます。名前を再使用する前に、既存の画層設定の名前を変更するか、削除しなければなりません。

画層の色と種類の設定を保存する

次のコードは現在の画層の色と線種の設定を ColorLinetype という名前で保存します。

Sub Ch4_SaveLayerColorAndLinetype()
  Dim oLSM As AcadLayerStateManager
  ' Access the LayerStateManager object
  Set oLSM = ThisDrawing.Application. _
    GetInterfaceObject("AutoCAD.AcadLayerStateManager.20")

  ' Associate the current drawing database with LayerStateManager
  oLSM.SetDatabase ThisDrawing.Database
  oLSM.Save "ColorLinetype", acLsColor + acLsLineType
End Sub

保存した画層設定の名前を変更する

次のコードは、画層設定の名前を ColorLinetype から OldColorLinetype に変更します。

Sub Ch4_RenameLayerSettings()
  Dim oLSM As AcadLayerStateManager
  Set oLSM = ThisDrawing.Application. _
    GetInterfaceObject("AutoCAD.AcadLayerStateManager.20")

  oLSM.SetDatabase ThisDrawing.Database
  oLSM.Rename "ColorLinetype", "OldColorLinetype"
End Sub

保存した画層設定を削除する

次のコードは ColorLinetype という名前で保存した画層設定を削除します。

Sub Ch4_DeleteColorAndLinetype()
  Dim oLSM As AcadLayerStateManager
  Set oLSM = ThisDrawing.Application. _
    GetInterfaceObject("AutoCAD.AcadLayerStateManager.20")

  oLSM.SetDatabase ThisDrawing.Database
  oLSM.Delete "ColorLinetype"
End Sub