|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
cloudshare 发表于 2014-4-9 17:05
赵老师的代码经测试完全正确,效率也得到提高,但是由于是初学,对陌生的代码还不理解,赵老师能否加个注释 ...
ADO法,即把工作簿当作数据库操作,各种方法都是固定的:- While f > ""
- If f <> ThisWorkbook.Name Then
- Dim cnn As Object, MyWorkSheet As String
- MyWorkSheet = "预算成本总表$"
- Set cnn = CreateObject("ADODB.Connection") '创建连接对象
- cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Extended Properties='Excel 12.0;hdr=no';Data Source=" & Path & f '连接数据库
- If Not cnn.OpenSchema(20, Array(Empty, Empty, MyWorkSheet, Empty)).EOF Then '判断是否存在指定工作表
- lr = sh.Range("a1").CurrentRegion.Rows.Count + 1 '当前工作表第一个空行
- sh.Cells(lr, 2) = Split(f, "_")(0) '文件名
- sh.Cells(lr, 3) = cnn.Execute("select f1 from [预算成本总表$b2:b2]")(0) 'b2值
- sh.Cells(lr, 4) = cnn.Execute("select f1 from [预算成本总表$d2:d2]")(0) 'd2值
- sh.Cells(lr, 5) = cnn.Execute("select f1 from [预算成本总表$e28:e28]")(0) 'e282值
- End If
- End If
- f = Dir()
- Wend
复制代码 |
|