不打開另一個工作簿取它裏面的工作表名 (使用數據庫引擎)

轉自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、輸出結果是按字母順序排序的,而不是那個工作簿裏面真正的表的順序。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章