アクティブドキュメントのレイヤ情報を得る。
Sub ilGetLayerInfo()
Dim appRef As New Illustrator.Application
Dim aiDoc As Illustrator.Document
Dim ilLayer As Illustrator.Layer
Dim intLayerOrder As Long
Set aiDoc = appRef.ActiveDocument
For Each ilLayer In aiDoc.Layers
intLayerOrder = ilLayer.ZOrderPosition
ActiveCell(intLayerOrder, 1).Value = intLayerOrder
ActiveCell(intLayerOrder, 2).Value = ilLayer.Name
ActiveCell(intLayerOrder, 3).Value = ilLayer.Visible
ActiveCell(intLayerOrder, 4).Value = aiDoc.Layers.Index(ilLayer)
Next
End Sub
アクティブセルから、描画順、レイヤ名、可視属性、インデックス番号を一覧表にして書き出す。
表は描画順に書き出される。
LayerのZOrderPositionプロパティは、1から開始し、数の小さい方が後ろ(Illustratorのレイヤウインドウでの下)、大きいほど前(上)となるもよう。
読み取り専用。ZOrderPositionを動かしたい場合は、該当レイヤのZOrderメソッドで移動するみたい。
引数はAiZOrderMethodの4種類の定数。
Layerでは試してないが、PathItemでごにょごにょ試してみたところでは、多分意味はこんな感じだと思う。
AiBringForward→一つ前(上)へ
AiSendToFront→一番前(上)へ
AiBringBackward→一つ後ろ(下)へ
AiSendToBack→一番後ろ(下)へ