Você pode usar este VBA para conectar o banco de dados do Access no modo somente leitura:
Sub ReadFromAccess()
Dim cn As Object, rs As Object
Dim intColIndex As Integer
Dim DBFullName As String
Dim TargetRange As Range
DBFullName = "C:\Users\Username\Desktop\Sample.mdb"
Application.ScreenUpdating = False
Set TargetRange = Sheets("Sheet1").Range("A1")
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBFullName & ";" & "Persist Security Info=False;Mode=Read;"
Set rs = CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM Table Name", cn, , , adCmdText
For intColIndex = 0 To rs.Fields.Count - 1
TargetRange.Offset(1, intColIndex).Value = rs.Fields(intColIndex).Name
Next
TargetRange.Offset(1, 0).CopyFromRecordset rs
Application.ScreenUpdating = True
On Error Resume Next
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
On Error GoTo 0
Exit Sub
End Sub
N.B.
- Caminho do arquivo C: \ Usuários \ Nome do usuário \ Desktop \ Sample.mdb e Folhas ("Folha1"). O intervalo ("A1") é editável.
- Em vez da variável DBFullName , você pode usar o caminho do arquivo C: \ Users \ Nome de usuário \ Desktop \ Sample.mdb , como mostrei nos comentários.
.