Office中国论坛/Access中国论坛
标题:
快速获取Excel文件所有工作表表名
[打印本页]
作者:
t小宝
时间:
2013-8-6 15:26
标题:
快速获取Excel文件所有工作表表名
获取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
复制代码
作者:
admin
时间:
2013-8-6 15:32
好方法,的确比打开EXCEL快
作者:
轻风
时间:
2013-8-6 15:39
学习了
作者:
purplerose
时间:
2016-3-18 16:22
这个问题也是有些人常问的问题了,小宝好样的
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3