Может быть с помощью MSQuery можно составить запрос к этим базам, результат выгрузить на лист.
И в общем можно обойтись без ВБА.
Но если что - вот нашёл пример (не проверял):
==================================
Открыть файл C:\DB\Baza.dbf можно так:
код
--------------------------------------------------------------------------------
Dim cmd As String
Dim sql As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
cmd = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DB;Extended Properties=dBASE III;"
Set cn = New ADODB.Connection
cn.ConnectionString = cmd
cn.Open
sql = "select * from Baza.dbf"
Set rs = New ADODB.Recordset
rs.Open sql, cn, adOpenKeyset, adLockOptimistic
Do Until rs.EOF ' пройтись по всем записям
Debug.Print rs.Fields(0) ' вывести в окно Debug содержимое поля 0 (первое поле)
rs.MoveNext
Loop
--------------------------------------------------------------------------------
Предварительно необходимо подключить ADO:
Project -> References -> Microsoft ActiveX Data Objects
======================================
Или вот ещё:
========================
Dim cn As New ADODB.Connection, rs As New ADODB.Recordset, sh As Worksheet
Const cstrBase As String = "C:\EXPORT\" 'Директория с файлами dbf
n = 1
t = 2
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & cstrBase & ";Extended Properties=dBase IV"
.Open
Set rs = .Execute("SELECT * FROM tab")
For i = 0 To rs.Fields.Count - 1
sh.Cells(1, i + 1).Value = rs.Fields(i).Name
Next i
If Not (rs.EOF And rs.BOF) Then rs.MoveFirst
Do Until rs.EOF
If t > 65000 Then
Set sh = Application.Worksheets.Add
sh.Name = "part" + Str(n)
For i = 0 To rs.Fields.Count - 1
sh.Cells(1, i + 1).Value = rs.Fields(i).Name
Next i
t = 2
n = n + 1
End If
For j = 0 To rs.Fields.Count - 1
sh.Cells(t, j + 1).Value = rs.Fields(j).Value
Next j
rs.MoveNext
t = t + 1
Loop
.Close
End With
это код из кнопки... открывается файл tab.dbf из директории C:\EXPORT\ заполняются заголовки и содержимое файла в Excel. При достижении 65000 записей идет добавление нового листа и продолжение файла. На файлике до 30 тыс. записей работает хорошо.
=================
Тоже не проверял. Или проверял... непомню :)