<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>CAD Forum discussion (EN) : VBA GetBox</title>
  <link>https://www.cadforum.cz/forum_en/</link>
  <description><![CDATA[This is an XML content feed of; CAD Forum discussion (EN) : AutoCAD : VBA GetBox]]></description>
  <pubDate>Sat, 16 May 2026 13:27:12 +0000</pubDate>
  <lastBuildDate>Mon, 16 Jul 2018 17:38:18 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 12.04</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>https://www.cadforum.cz/forum_en/RSS_post_feed.asp?TID=12779</WebWizForums:feedURL>
  <image>
   <title><![CDATA[CAD Forum discussion (EN)]]></title>
   <url>https://www.cadforum.cz/forum_en/forum_images/web_wiz_forums.png</url>
   <link>https://www.cadforum.cz/forum_en/</link>
  </image>
  <item>
   <title><![CDATA[VBA GetBox : Hello,I am trying to get the bounding...]]></title>
   <link>https://www.cadforum.cz/forum_en/forum_posts.asp?TID=12779&amp;PID=36126&amp;title=vba-getbox#36126</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://www.cadforum.cz/forum_en/member_profile.asp?PF=57857">katto01</a><br /><strong>Subject:</strong> 12779<br /><strong>Posted:</strong> 16.Jul.2018 at 17:38<br /><br /><div>Hello,</div><div>I am trying to get the bounding box for all entities on a layer.</div><div>I would like to be able to do this from EXCEL. I tried to modify an AutoCAD VBA routine that works in the AutoCAD VBA to work in EXCEL, however I seem to miss something. Please see my code below. It fails at the ss(0).. line.</div><div>Please advise</div><div>Thank you</div><div><br></div><div><br></div><div>Sub Get_BoundingBox()</div><div><br></div><div>Dim XNAME As String</div><div>'On Error Resume Next 'This tells VBA to ignore errors</div><div>Set ACAD = GetObject(, "AutoCAD.Application") 'Get a running instance of the class AutoCAD.Application</div><div><br></div><div>Dim ssetObj As AcadSelectionSet</div><div>Dim sset As AcadSelectionSets</div><div>Dim acadobj As AcadObject</div><div>Dim objname As String</div><div>Dim ptllmin As Variant</div><div>Dim ptllmax As Variant</div><div>Dim HH As Variant</div><div>Dim objlayer As String</div><div>Dim entItem As AcadEntity</div><div><br></div><div>Dim I As Integer</div><div>Dim corner1(0 To 2) As Double</div><div>Dim corner2(0 To 2) As Double</div><div><br></div><div>corner1(0) = -10000000000#: corner1(1) = -10000000000#: corner1(2) = 0</div><div>corner2(0) = 10000000000#: corner2(1) = 10000000000#: corner2(2) = 0</div><div><br></div><div>I = 0</div><div><br></div><div>Set sset = ACAD.ActiveDocument.SelectionSets</div><div><br></div><div>For Each ssetObj In sset</div><div>If UCase(ssetObj.Name) = "TEST" Then</div><div>sset.Item("TEST").Delete</div><div>Exit For</div><div>End If</div><div>Next</div><div><br></div><div>Set ssetObj = ACAD.ActiveDocument.SelectionSets.Add("TEST")</div><div><br></div><div>' Add all the objects to the selection set</div><div>ssetObj.Select acSelectionSetAll</div><div>Q$ = Chr(9)</div><div>For Each acadobj In ssetObj</div><div>objname = acadobj.ObjectName</div><div>objlayer = acadobj.Layer</div><div>HH = acadobj.Handle</div><div>&nbsp;&nbsp;</div><div>&nbsp; Const X = 0</div><div>&nbsp; Const Y = 1</div><div><br></div><div>&nbsp; ss(0).GetBoundingBox ptMin, ptMax</div><div>&nbsp; For Each entItem In ss</div><div>&nbsp; &nbsp; &nbsp;ACAD.ActiveDocument.entItem.GetBoundingBox ptllmin, ptllmax</div><div>&nbsp; &nbsp; If ptllmin(X) &lt; ptMin(X) Then ptMin(X) = ptllmin(X)</div><div>&nbsp; &nbsp; If ptllmin(Y) &lt; ptMin(Y) Then ptMin(Y) = ptllmin(Y)</div><div>&nbsp; &nbsp; If ptllmax(X) &gt; ptMax(X) Then ptMax(X) = ptllmax(X)</div><div>&nbsp; &nbsp; If ptllmax(Y) &gt; ptMax(Y) Then ptMax(Y) = ptllmax(Y)</div><div>&nbsp; Next</div><div>Sheet5.Cells(I, 1).Value = I</div><div>Debug.Print objname, Q$, objlayer, Q$, HH</div><div>I = I + 1</div><div>Sheet5.Cells(I, 1).Value = I</div><div>Sheet5.Cells(I, 2).Value = objname</div><div>Sheet5.Cells(I, 3).Value = objlayer</div><div>Sheet5.Cells(I, 4).Value = HH</div><div>Sheet5.Cells(I, 5).Value = ptMin(X)</div><div>Sheet5.Cells(I, 6).Value = ptMin(Y)</div><div>Sheet5.Cells(I, 7).Value = ptMax(X)</div><div>Sheet5.Cells(I, 7).Value = ptMax(Y)</div><div><br></div><div>Next acadobj</div><div><br></div><div>End Sub</div>]]>
   </description>
   <pubDate>Mon, 16 Jul 2018 17:38:18 +0000</pubDate>
   <guid isPermaLink="true">https://www.cadforum.cz/forum_en/forum_posts.asp?TID=12779&amp;PID=36126&amp;title=vba-getbox#36126</guid>
  </item> 
 </channel>
</rss>