turned out to be almost exactly what I'ze looking for - thx again: heres my .NET-ified version...
Dim AcadssetObj As AcadSelectionSet
Dim acadent, ent As AcadEntity
Dim blkRef As AcadBlockReference
Dim att As AcadAttributeReference
Dim blk As AcadBlock
Dim atts As Object
Try
''' Deleting old Selection set if it exists
For Each AcadssetObj In AcadDoc.SelectionSets
If AcadssetObj.Name = "TempSet" Then
AcadssetObj.Delete()
Exit For
End If
Next
AcadssetObj = AcadDoc.SelectionSets.Add("TempSet")
AppActivate("autocad")
AcadssetObj.SelectOnScreen()
AcadDoc.ActiveLayer = AcadDoc.Layers.Item("trimtags")
For Each acadent In AcadssetObj
If TypeOf acadent Is AcadBlockReference Then
blkRef = acadent
blk = AcadDoc.Blocks.Item(blkRef.Name)
For Each ent In blk
With ent
If Not AcadDoc.Layers.Item(.Layer).Lock Then
.Layer = "0"
.Color = ACAD_COLOR.acByLayer
End If
End With
Next ent
If blkRef.HasAttributes Then
atts = blkRef.GetAttributes
For Each att In atts
att.Layer = Me.lstLayers.SelectedItem
att.Update()
Next
End If
End If
acadent.Layer = Me.lstLayers.SelectedItem
AcadApp.Update()
Next
''' Deleting old Selection set if it exists
For Each AcadssetObj In AcadDoc.SelectionSets
If AcadssetObj.Name = "TempSet" Then
AcadssetObj.Delete()
Exit For
End If
Next
Catch ex As Exception
MsgBox(ex.Message & Chr(13) & ex.StackTrace)
End Try