設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 3534|回復(fù): 3
打印 上一主題 下一主題

[模塊/函數(shù)] 快速獲取Excel文件所有工作表表名

[復(fù)制鏈接]

點(diǎn)擊這里給我發(fā)消息

跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2013-8-6 15:26:45 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
獲取Excel工作表表名一般使用創(chuàng)建Excel.Application對象的方法,但速度比較慢。
使用dao的方法則可以快速獲取,代碼如下:
  1. '獲取Excel文件所有工作表名稱的過程
  2. Public Sub GetExcelSheetName()

  3.     Dim dbs As DAO.Database
  4.     Dim tbf As DAO.TableDef
  5.     Dim sSheetName As String
  6.    
  7.     Dim sFileName As String
  8.     sFileName = "d:\My Documents\個(gè)人文檔\報(bào)名表.xls"
  9.    
  10.     ' 把Excel文件當(dāng)作數(shù)據(jù)庫用dao打開
  11.     Set dbs = OpenDatabase(sFileName, False, False, "Excel 8.0;")
  12.    
  13.     '循環(huán)所有表
  14.     For Each tbf In dbs.TableDefs
  15.         sSheetName = tbf.Name
  16.         
  17.         ' 如果表名是數(shù)字,兩邊會加上單引號,這里去掉
  18.         If sSheetName Like "'*'" Then
  19.             sSheetName = Mid(sSheetName, 2, Len(sSheetName) - 2)
  20.         End If
  21.         
  22.         '可能會返回很多表,但只有最后一個(gè)字符為$的表是可用和可見的,是我們需要的
  23.         If Right(sSheetName, 1) = "$" Then
  24.             sSheetName = Mid(sSheetName, 1, Len(sSheetName) - 1)
  25.             Debug.Print sSheetName
  26.         End If
  27.     Next

  28. End Sub
復(fù)制代碼

本帖被以下淘專輯推薦:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享分享 分享淘帖1 訂閱訂閱

點(diǎn)擊這里給我發(fā)消息

2#
發(fā)表于 2013-8-6 15:32:36 | 只看該作者
好方法,的確比打開EXCEL快

點(diǎn)擊這里給我發(fā)消息

3#
發(fā)表于 2013-8-6 15:39:09 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

4#
發(fā)表于 2016-3-18 16:22:32 | 只看該作者
這個(gè)問題也是有些人常問的問題了,小寶好樣的
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-13 05:18 , Processed in 0.102960 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表