<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Selection sets in VBA Forum</title>
    <link>https://forums.autodesk.com/t5/vba-forum/selection-sets/m-p/7336661#M7931</link>
    <description>Once you properly initialize the selectionset as told you by Norman, wouldn't it be simpler to use:&lt;BR /&gt;&lt;BR /&gt;With ssetObj&lt;BR /&gt;    .Select acSelectionSetAll&lt;BR /&gt;    .Erase&lt;BR /&gt;End With&lt;BR /&gt;</description>
    <pubDate>Tue, 29 Aug 2017 17:25:55 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2017-08-29T17:25:55Z</dc:date>
    <item>
      <title>Selection sets</title>
      <link>https://forums.autodesk.com/t5/vba-forum/selection-sets/m-p/7182130#M7929</link>
      <description>&lt;P&gt;The routine below was developed to erase everything in a drawing and worked beautifully in windows7 but windows10 doesn't like the Set ssetObj = statement after CREATE_SET:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Public Sub ClearDrawing()&lt;BR /&gt;' Clears AutoCad drawing of all objects. Used in each connection module.&lt;/P&gt;&lt;P&gt;Dim ssetObj As AcadSelectionSet&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error GoTo CREATE_SET&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ThisDrawing.SelectionSets("MSset").Delete&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GoTo SKIP_CREATE_SET&lt;/P&gt;&lt;P&gt;CREATE_SET:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set ssetObj = ThisDrawing.SelectionSets.Add("MSset")&lt;/P&gt;&lt;P&gt;SKIP_CREATE_SET:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ThisDrawing.ModelSpace.Count &amp;gt; 0 Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReDim ssobjs(0 To ThisDrawing.ModelSpace.Count - 1) As AcadEntity&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Integer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 0 To ThisDrawing.ModelSpace.Count - 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set ssobjs(i) = ThisDrawing.ModelSpace.Item(i)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssetObj.AddItems ssobjs&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssetObj.Erase&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;&lt;P&gt;End Sub&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Error code is Run-time error '91':&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Object variable or With block variable not set.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Jun 2017 13:35:50 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/selection-sets/m-p/7182130#M7929</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-06-27T13:35:50Z</dc:date>
    </item>
    <item>
      <title>Re: Selection sets</title>
      <link>https://forums.autodesk.com/t5/vba-forum/selection-sets/m-p/7186953#M7930</link>
      <description>&lt;P&gt;This line of code&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;CREATE_SET:&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set ssetObj = ThisDrawing.SelectionSets.Add("MSset")&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;should not cause error of "Object varaiable or With block variable not set", be it running in Wndow7, 8 or 10.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;From my observation, your code have logic error when the drawing DOES have a SelectionSet named "MSset" (for example, when you run your code the second time, because the first run creates the SelectionSet "MSset" and does not delete it).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Follow your code carefully:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;1. When the drawing has a SelectionSet names as "MSset" (created by previous running your code), these lines of code executed correctly:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;On Error GoTo CREATE_SET&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ThisDrawing.SelectionSets("MSset").Delete&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;GoTo SKIP_CREATE_SET&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;That is, the SelectionSet is deleted first, and then the next line asks the code to go to "SKIP_CREATE_SET" label, thus, these lines of code are skipped:&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;CREATE_SET:&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set ssetObj = ThisDrawing.SelectionSets.Add("MSset")&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;and directly go to the following If....End If. As you can see, in this case, ssetObj variable is NOT SET! So, this line of code raises the "91" error:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;&lt;EM&gt;ssetObj.AddItems ssobjs&lt;/EM&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;Excessively using GoTo labels in code is bad practice that leads to spaghetti code, difficult to read/follow/debug&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jun 2017 19:18:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/selection-sets/m-p/7186953#M7930</guid>
      <dc:creator>norman.yuan</dc:creator>
      <dc:date>2017-06-28T19:18:25Z</dc:date>
    </item>
    <item>
      <title>Re: Selection sets</title>
      <link>https://forums.autodesk.com/t5/vba-forum/selection-sets/m-p/7336661#M7931</link>
      <description>Once you properly initialize the selectionset as told you by Norman, wouldn't it be simpler to use:&lt;BR /&gt;&lt;BR /&gt;With ssetObj&lt;BR /&gt;    .Select acSelectionSetAll&lt;BR /&gt;    .Erase&lt;BR /&gt;End With&lt;BR /&gt;</description>
      <pubDate>Tue, 29 Aug 2017 17:25:55 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/selection-sets/m-p/7336661#M7931</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-08-29T17:25:55Z</dc:date>
    </item>
  </channel>
</rss>

