轉自http://blog.csdn.net/laoyebin/article/details/5332990
Sub test()
Dim cn As Object, cat As Object, tbl As Object, str$
Set cn = CreateObject("ADODB.Connection")
Set cat = CreateObject("ADOX.Catalog")
Set tbl = CreateObject("ADOX.Table")
cn.Open "dsn=excel files;dbq=" & ThisWorkbook.Path & "/test.xls"
cat.ActiveConnection = cn
For Each tbl In cat.Tables
str = str & Replace(tbl.Name, "$", "") & vbCrLf
Next
MsgBox str
cn.Close
Set cn = Nothing
Set cat = Nothing
Set tbl = Nothing
End Sub
注意:1、沒有真正意義上的不打開表,這個示例是用數據庫引擎打開的,是一種隱式的打開方法。
2、輸出結果是按字母順序排序的,而不是那個工作簿裏面真正的表的順序。