|
- Sub db()
- Dim path, fs, r, n, i, conn, rs, sql
- path = ThisWorkbook.path & ""
- Set fs = CreateObject("scripting.FileSystemObject").GetFolder(path).Files
- ReDim arr(0 To fs.Count, 0 To 14)
- r = 0
- For Each f In fs
- If f.Name Like "*.xlsx" Then
- n = 0: arr(r, n) = f.Name: n = n + 1
- Set conn = CreateObject("ADODB.Connection")
- conn.provider = "Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0"
- conn.Open "Data Source=" & path & f.Name
- Set rst = CreateObject("ADODB.Recordset")
- sql = "select * from [Excel 12.0;HDR=NO;Database=" & path & f.Name & "].[$b3:d17]"
- rst.Open sql, conn, 1, 3
- For i = 1 To 12
- rst.absoluteposition = i
- If i <> 3 Then arr(r, n) = rst(1): n = n + 1
- Next
- rst.absoluteposition = 15
- For i = 0 To 2
- arr(r, n) = rst(i)
- n = n + 1
- Next
- Set conn = Nothing
- r = r + 1
- End If
- Next
- Sheet2.Range("a2").Resize(r, 15) = arr
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|