本帖最后由 tth02 于 2011-7-13 15:50 编辑
以下vba代码可以完成相应功能。最后显示所有图层的实体。没有对话框。
 - Sub LayerWalk()
- Dim objLayer As AcadLayer, objLayer2 As AcadLayer, str1 As String
- On Error GoTo ErrHand
- For Each objLayer In ThisDrawing.Layers
- ThisDrawing.Utility.Prompt "当前显示图层为:" & objLayer.name & vbCrLf
- ThisDrawing.ActiveLayer = objLayer
- objLayer.LayerOn = True
- For Each objLayer2 In ThisDrawing.Layers
- If objLayer2.name <> objLayer.name Then
- objLayer2.LayerOn = False
- End If
- Next objLayer2
- str1 = ThisDrawing.Utility.GetString(0, "回车显示下一图层")
- Next objLayer
- ErrHand:
- For Each objLayer In ThisDrawing.Layers
- objLayer.LayerOn = True
- Next objLayer
- End Sub
|