Office中国论坛/Access中国论坛
标题: 【源码】Access获取excel文件的工作表名 [打印本页]
作者: 盗梦 时间: 2015-4-11 10:40
标题: 【源码】Access获取excel文件的工作表名
本帖最后由 盗梦 于 2015-4-11 11:45 编辑
1.可以通过OLE对excel.application操作,这个方法论坛有,大家可自行搜索一下, 如下面的示例
Excel中sheet相对应的VBA对象就是Worksheet。一个Worksheet对象,就代表了一个excel sheet。
VBA中,即可以取得当前Excel的sheet,也可以别Excel的sheet。
Worsheet的取得,通过Application对象,或者Workbook对象,Worksheets属性来取得。
格式
012 | Dim sheet As Worksheet Set sheet = Application.Worksheets(index) |
上面的代码,取得现在使用中的Excel的所有sheet中的某个。如果想取得所有Excel中的某个sheet。如下代码
012 | Dim sheet As Worksheet Set sheet = Worksheets(index) |
2.直接用ADO来获取,更方便 更快。
如果没有安装excel
xls = "C:\Users\root\Desktop\test.xls"
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & xls & ";Extended Properties=""Excel 8.0;"";"
Set AdoCnn = CreateObject("ADODB.Connection")
AdoCnn.Open strConnect
Set rs = AdoCnn.OpenSchema(20)
Do Until rs.EOF
msgbox rs.Fields("table_name")
rs.MoveNext
Loop
AdoCnn.Close
不过使用 ado有个小问题是会 把名字中的点.替换为#,如果结果中出现#则无法得知确切名称
另取到的工作表名后面可能会有一个$号,要用代码处理一下
其它可能的问题
测试发现的几个小问题:
1、得到的列表没有按照原来的顺序,被排序了。
2、行尾多了$符号。
3、有空格的sheet的行首和行尾还被加了单引号。
作者: ailiy 时间: 2016-3-15 16:29
好像很高深的样子,不知道能不能学会
作者: 晨微凉 时间: 2016-3-26 10:10
感谢分享
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |