獲取Excel工作表表名一般使用創(chuàng)建Excel.Application對(duì)象的方法,但速度比較慢。
使用dao的方法則可以快速獲取,代碼如下:'獲取Excel文件所有工作表名稱的過(guò)程Public Sub GetExcelSheetName()
Dim dbs As DAO.Database
Dim tbf As DAO.TableDef
Dim sSheetName As String
Dim sFileName As String
sFileName = "d:\My Documents\個(gè)人文檔\報(bào)名表.xls"
' 把Excel文件當(dāng)作數(shù)據(jù)庫(kù)用dao打開 Set dbs = OpenDatabase(sFileName, False, False, "Excel 8.0;")
'循環(huán)所有表 For Each tbf In dbs.TableDefs
sSheetName = tbf.Name
' 如果表名是數(shù)字,兩邊會(huì)加上單引號(hào),這里去掉 If sSheetName Like "'*'" Then
sSheetName = Mid(sSheetName, 2, Len(sSheetName) - 2)
End If
'可能會(huì)返回很多表,但只有最后一個(gè)字符為$的表是可用和可見的,是我們需要的 If Right(sSheetName, 1) = "$" Then
sSheetName = Mid(sSheetName, 1, Len(sSheetName) - 1)
Debug.Print sSheetName
End If
Next
End Sub