Message 1 of 3
'Error Setting Active Layer' occurs while deleting Layer

Not applicable
03-11-2019
04:40 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I m creating temporary new layer to put some mtext objects. Later im deleting this layer through VBA macros. But it shows error on setting active layer '0" before deleting all objects and new layer. If i execute the same delete layer macros again, this time it doesnt show error. I got this code from help websites.
Private Sub Ch4_NewLayer() Dim acadApp As AcadApplication Dim acadDoc As AcadDocument Dim newLayer As AcadLayer Dim LayerName As String
'Check if AutoCAD is open. On Error Resume Next Set acadApp = GetObject(, "AutoCAD.Application") On Error GoTo 0 'If AutoCAD is not opened create a new instance and make it visible. If acadApp Is Nothing Then Set acadApp = New AcadApplication acadApp.Visible = True End If 'Check if there is an active drawing. On Error Resume Next Set acadDoc = acadApp.ActiveDocument On Error GoTo 0 'No active drawing found. Create a new one. If acadDoc Is Nothing Then Set acadDoc = acadApp.Documents.Add acadApp.Visible = True End If 'check to see if layer already exists and if not make a new On Error Resume Next LayerName = "Layer_1" Set newLayer = acadDoc.Layers.Add(LayerName) newLayer.color = acYellow On Error GoTo 0 If newLayer Is Nothing Then Set newLayer = acadDoc.Layers.Add(LayerName) End If acadDoc.ActiveLayer = newLayer ' Create a Sample circle
Dim circleObj As AcadCircle
Dim center(0 To 2) As Double
Dim radius As Double
center(0) = 2: center(1) = 2: center(2) = 0
radius = 1
Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius) End Sub Public Sub DeleteLayer() ThisDrawing.ActiveLayer = ThisDrawing.Layers("0") '<-- it shows error here DeleteEntitiesOnLayer ("Layer_1") ThisDrawing.Layers("Layer_1").Delete End Sub