Moin,
Da ich ein absoluter Neuanfänger bin, stelle ich auch absolute Neuanfängerfragen.
Ich habe im allgemeinen AutoCAD Forum von RoSiNiNo, sprich Roland eine VBA-Code bekommen, mit dem man je nach der Layerfarbe dem Layer eine Linienstärke zuweisen kann.
Gleich danach hat das Programm wie beabsichtigt alle Layer auf die Farbe 253 gesetzt.
Jetzt habe ich mir darauf basierend ein kleines Programm geschrieben, das sämtlich Layer die mit A_ras_ anfangen auf die Farbe 24 setzt und den Rest auf die Farbe 253.
Am Anfang habe ich versucht es mit
Case "A_ras_*"
versucht.
Leider ging das nicht und ich habe mir mit
Case "A_ras_" To "A_rasz"
beholfen.
Versteht VBA keine Wildcarts wie das ? und das *, oder gibt es eine andere Möglichkeit, mit Ihnen zu arbeiten.
Hier kommt noch mal der ganze Code:
----------------------------------------------------------
Public Sub LayerUpdateFarbe()
Dim LayerListe As AcadLayers
Dim LayerObj As AcadLayer
Dim LF As Long 'Layerfarbe
Set LayerListe = ThisDrawing.Layers
If LayerListe.Count = 0 Then Exit Sub
For Each LayerObj In LayerListe
Select Case LayerObj.Name
Case "A_ras_" To "A_rasz" 'Architekten Layer
LF = 24 'RM-Farbe
Case Else 'Sonstige Acadfarben
LF = 253 'Strichstärke 0.05mm
End Select
LayerObj.Color = LF
NEXTLAYER:
Next LayerObj
End Sub
--------------------------------------------------------------------
------------------
Schöne Grüsse aus dem Norden
Molo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP