如何用VB实现Excel:不打开工作表,根据单元格指定文件名和工作表名,引用指定路径下对应文件中的数据?
子测试()
将cnn作为对象变暗
Dim strPath,strTable,strSQL,Z作为字符串,ss$,shtName作为字符串
模糊x%,i%
Set cnn = CreateObject("ADODB。连接”)
X = [xfd1]。end (xltolft)。“column”获取第一行最右边单元格对应的列号,并计算要获取的工作簿数。
行(“2:25”)。清除数据存储区中的旧数据。
对于i = 1到x
z = Dir(" D:\ DATA \ DATA " & amp;"\*.xlsx”)
建立连接并提取数据。
ss =单元格(1,I)。价值与价值。".xlsx "
Do While Z & lt& gt""
如果Z = ss,那么
strPath = " D:\ DATA \ DATA " & amp;" \ " & ampZ
cnn。Open "provider=Microsoft。ACE . oledb . 12.0;扩展属性= ' Excel 12.0;hdr =否;imex = 1 ';数据源= " & ampstrPath
设置rst = cnn。开放式架构(20)
Shtname = rst.fields ("TABLE _ name ")。值'获取表类型记录表的名称。
strTable = "[" & amp;shtName & amp" A1:A18]"
strSQL = " select f 1 from " & amp;获取表格第一列的数据。
细胞(3,I)。cnn的CopyFromRecordset。执行(strSQL)
Cells (2,I) = left (shtname,len (shtname)-1)'删除表名中的$符号。
cnn。关闭
如果…就会结束
Z =方向
环
接下来我
设置cnn =无
末端接头