昨日は、画層を追加しただけでしたので、
今回は、画層のプロパティを設定してみました。
設定してみたのは、
画層の色、線種、線の太さの3種類です。
今回はすんなり行きませんでした。
━─━─━─━─━─━─━─━─━─━─
Set templayer = acadDocs.Layers.Add("TEST-A") '画層追加
templayer.TrueColor.ColorIndex = acRed '色
templayer.Linetype = "CENTER" '線種
templayer.Lineweight = acLnWt005 '線の太さ
━─━─━─━─━─━─━─━─━─━─
↑このように設定コードを書いたのですが、
まず、画層の色がacRed=赤色にならない。
なぜか、白色になってしまう。
どうもこの記述では設定できないもよう。
調べた結果、下記のように修正しました。(大雑把なコードです。)
━─━─━─━─━─━─━─━─━─━─
Dim acColor As AcadAcCmColor
Set acColor = GetInterfaceObject("AutoCAD.AcCmColor.18")
Set templayer = acadDocs.Layers.Add("TEST-A") '画層追加
acColor.ColorMethod = acColorMethodByACI
acColor.ColorIndex = acRed
templayer.TrueColor = acColor
templayer.Linetype = "CENTER" '線種
templayer.Lineweight = acLnWt005 '線の太さ
━─━─━─━─━─━─━─━─━─━─
色については、AcadAcCmColorオブジェクトを渡さないと
設定できないようです。理由は不明。
それから、Dim acColor As New AcadAcCmColorで
オブジェクトを生成することができませんでした。
なので、ヘルプに載ってた
Set acColor = GetInterfaceObject("AutoCAD.AcCmColor.18")
の形式で、生成しました。
次に
templayer.Linetype = "CENTER"でエラー。
"CENTER"って名の線種がないため。
ヘルプにも記述されてましたが、
まず、線種をロードし、その後に存在する線種で設定する
必要があるようです。
今回は、存在する線種で対応しました。
templayer.Lineweight は、問題なく設定できました。
↓今回のExcel VBAマクロソース
━─━─━─━─━─━─━─━─━─━─
━─━─━─━─━─━─━─━─━─━─
↓実行結果
━─━─━─━─━─━─━─━─━─━─
━─━─━─━─━─━─━─━─━─━─
押さなくてもいいけど・・・
←←MicroAdマイクロアドMicroAd←←