Utlizo la referencia Microsoft Activex Data Objects 2.1
El compilador muesta el error en la cadena de Conexion. Error '-214746729 (80004005)' En Tiempo De Ejecucion: No se puedo Encontrar el Archivo ISAM Instalable.
Sub Leer_Datos_De_Excel_En_Un_DataGird()
Dim Conexion_Excel As New ADODB.Connection, RsExcel As New ADODB.Recordset
Set Conexion_Excel = New ADODB.Connection
' EN LA SIGUIENTE LINEA MUESTRA EL ERROR
Conexion_Excel.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Ruta & ";Extented Properties=""Excel 8.0;HDR=Yes;""" ' AQUI MUESTRA EL ERROR
Set RsExcel = New ADODB.Recordset
With RsExcel
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.CursorLocation = adUseClient
.Open "Select * From [" & Hoja & "]", Conexion_Excel, , , adCmdText
End With
Set DataGrid.DataSource = RsExcel
End Sub
solo esta el procedimiento, si es necesaria mas informacion me avisan y se las proporcionare.
gracias de antemano
salu2
Copyright © 2024 Q2A.ES - All rights reserved.
Answers & Comments
Verified answer
Espero que este ejemplo te ayude.
Necesitaras colocar un datagrid en el form para mostrar los datos del Excel. y agregar un modulo de clase llamado (Class1)
'/*----- Form
Private Sub Form_Load()
Dim obj As New Class1
Set DataGrid1.DataSource = obj.Leer_Excel(App.Path & "\" & "libro1.xls", "Sheet1")
Set obj = Nothing
End Sub
'/*------ modulo clase (Class1)
Public Function Leer_Excel(ByVal PathXls As String, Hoja As String) As ADODB.Recordset
On Error GoTo ErrorFunction
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim cs As String
rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
rs.LockType = adLockBatchOptimistic
cs = "DRIVER=Microsoft Excel Driver (*.xls);" & "DBQ=" & PathXls
Hoja = "[" & Hoja & "$" & "]"
rs.Open "SELECT * FROM " & Hoja, cs
Set Leer_Excel = rs
Set rs = Nothing
Exit Function
ErrorFunction:
MsgBox Err.Description, vbCritical
Err.Clear
End Function
'/*--------- Tendras que considerar que tu hoja se llame(Sheet1)
y que la estructura del excel, sea de esta manera
| A | B
-------------------------------
1 | id | Nombre
-------------------------------
2| A001 | Alex
3| A002 | Axel
Saludos.
Espero haberte ayudado