If the colors have to be changed or adjusted by levels, this can be done with a Key-in, maintaining the levels to be processed separately. For example, a lump sum at all levels with a color setting x can be changed to the value y.
As an example, I have created this VBA routine with two color values (old and new) that must be passed as a parameter to the VBA routine.
If the VBA routine is loaded with the following Key in, it can be carried out at all levels with color 0 to the color 3 change:
VBA run levelColorFromto 0 3
Option Base 0 Sub LevelColorFromto() Dim oLv As Level Dim l() As String l = Split(KeyinArguments, " ") If UBound(l) <> 1 Then MsgBox "Call with 2 parameters: old color value + new color value" Exit Sub End If For Each oLv In ActiveDesignFile.Levels If Not oLv.IsFromLevelLibrary Then If oLv.ElementColor = Val(l(0)) Then oLv.ElementColor = Val(l(1)) End If Next ActiveDesignFile.Levels.Rewrite End Sub