|
获取Excel工作表表名一般使用创建Excel.Application对象的方法,但速度比较慢。
使用dao的方法则可以快速获取,代码如下:- '获取Excel文件所有工作表名称的过程
- 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\个人文档\报名表.xls"
-
- ' 把Excel文件当作数据库用dao打开
- Set dbs = OpenDatabase(sFileName, False, False, "Excel 8.0;")
-
- '循环所有表
- For Each tbf In dbs.TableDefs
- sSheetName = tbf.Name
-
- ' 如果表名是数字,两边会加上单引号,这里去掉
- If sSheetName Like "'*'" Then
- sSheetName = Mid(sSheetName, 2, Len(sSheetName) - 2)
- End If
-
- '可能会返回很多表,但只有最后一个字符为$的表是可用和可见的,是我们需要的
- If Right(sSheetName, 1) = "$" Then
- sSheetName = Mid(sSheetName, 1, Len(sSheetName) - 1)
- Debug.Print sSheetName
- End If
- Next
- End Sub
复制代码 |
|