title: Return worksheet names in tab order from closed file using ADODB
body: <p>I am able to connect and query specific sheets. Some files may have the first worksheet name different or changing and sometimes there may be more than one.</p>
  
  <p>I tried a few different functions to return a full list. However none give me the worksheet tab names in the order they appear in Excel.</p>
  
  <p>The easiest method is this.</p>
  
  <pre><code>Set cat = CreateObject("ADOX.Catalog")
  Set cat.ActiveConnection = objConnection
  Debug.Print cat.Tables.Count
  
  For Each tbl In cat.Tables
  Debug.Print tbl.Name
  Debug.Print tbl.datecreated
  Debug.Print tbl.datemodified
  Next tbl
  </code></pre>
  
  <p>I thought I could determine by datecreated or datemodified, but the dates on all 4 are the same.</p>
  
  <pre><code>&gt; This prints for me:
  &gt; Avion$
  &gt; 3/17/2017 12:43:19 PM
  &gt; 3/17/2017 12:43:19 PM
  &gt; Meow$
  &gt; 3/17/2017 12:43:19 PM
  &gt; 3/17/2017 12:43:19 PM
  &gt; Sheet1$
  &gt; 3/17/2017 12:43:19 PM
  &gt; 3/17/2017 12:43:19 PM
  &gt; Sheet2$
  &gt; 3/17/2017 12:43:19 PM
  &gt; 3/17/2017 12:43:19 PM
  </code></pre>
  
  <p>So it gives me alphabetic sorting of the worksheet tab name list.</p>
  
  <p>However the worksheet order is:</p>
  
  <pre><code>&gt;[Sheet1][Avion][Sheet2][Meow]
  </code></pre>
  
  <p>I can't find any property to tell me the order.</p>