注册 登录
Office中国论坛/Access中国论坛 返回首页

t小宝的个人空间 http://www.office-cn.net/?71896 [收藏] [复制] [分享] [RSS]

日志

快速获取Excel文件所有工作表表名

热度 1已有 2686 次阅读2013-8-6 15:30 | 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

发表评论 评论 (1 个评论)

回复 zhuyiwen 2015-6-8 09:57
赞一个

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-20 08:02 , Processed in 0.059802 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部