Muy buenas tardes a todos los que pasan por aki, tengo un problema al querer importar datos desde XLSX a un recordset, el codigo siguiente funka muy bien en un XLS
espero me puedan ayudar..
Public Sub Importar_Excel( _
Libro As String, _
hoja As String, _
Optional rango As String = "")
Dim Registros() As Variant
Dim direcciontxt As String
Dim separador As String
Dim connString As String
Dim conexion As ADODB.Connection, rst As ADODB.Recordset
Set conexion = New ADODB.Connection
conexion.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Libro & _
";Extended Properties=""Excel 12.0;HDR=Yes;"""
Set rst = New ADODB.Recordset
With rst
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
End With
If rango <> ":" Then
hoja = hoja & "$" & rango
End If
rst.Open "SELECT * FROM [" & hoja & "]", conexion, , , adCmdText
Set DataGrid1.DataSource = rst
direcciontxt = App.Path & "\" & "DATOS.txt"
separador = ";"
Call Exportar_Recordset(rst, direcciontxt, separador)
End Sub
me arroja un mensaje de error aludiendo que "No se puede encontrar el archivo ISAM instalable" marcando las siguientes lineas de codigo
conexion.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Libro & _
";Extended Properties=""Excel 12.0;HDR=Yes;"""
(para xlsx lei que habia de dejar ";Extended Properties=""Excel 8.0;HDR=Yes;"""
en ";Extended Properties=""Excel 12.0;HDR=Yes;""")
pero aun asi no tengo problema, espero que me ayuden nuevamente
De antemano Muchas Gracias :D
He buscado y buscado y encontre este codigo que hace referencia a archivos xlsx
pero sale el mensaje de error "error 3706"
- no se encontro el proveedor especificado. es posible que no este instalado correctamente..
a mi entender, debo tener instalado el oficce 2007.. será asi?????
conexion.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source= & Libro " & _
";Extended Properties=""Excel 12.0;HDR=Yes;"""
Saludos
http://www.microsoft.com/downloads/en/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en
Microsoft Access Database Engine 2010 Redistributable
ese archivo es el que me faltaba para poder leer el documento office 2007 y cargarlo al recordset
con ese archivo y el siguiente codigo pude lograr capturar los datos de la hoja excel
estoy bajo winxp sp3
con office 2003
conexion.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Libro & _
";Extended Properties=""Excel 12.0;HDR=Yes;"""
Saludos
:D