Tengo el Office 2003, no actualizacion.
Simplemente le di COPY y PASTE al codigo del link, renombré los controles que te mencioné. No añadí referencias a nada, solo el componente FLEX.
• Agrega un MICROSOFT FLEXGRID CONTROL --> NOMBRE: MSFlexGrid
• Agrega un COMMAND --> NOMBRE: CMD
• En el evento clic del CMD:
Call Excel_FlexGrid("D:\Me\Down\New\Exe\Test.xls", MSFlexGrid, 20, 5, "Export")

Componentes

Referencias

Form sin datos

Form con datos
CODE:
Código vb:
Ver originalOption Explicit
' \\ -- Autor : Luciano Lodola -- http://www.recursosvisualbasic.com.ar/
' ---------------------------------------------------------------------------------
' -- Variables para acceder a la hoja excel
Private obj_Excel As Object
Private obj_Workbook As Object
Private obj_Worksheet As Object
' ----------------------------------------------------------------------------------
' \\ -- Inicio
' ----------------------------------------------------------------------------------
Private Sub Form_Load()
Me.Caption = " Importar Excel a FlexGrid "
cmd.Caption = " Importar a Flexgrid "
' -- Configurar el Grid
With MSFlexGrid
.Cols = 10
.FixedCols = 0
End With
End Sub
' ----------------------------------------------------------------------------------
' \\ -- Fin
' ----------------------------------------------------------------------------------
Private Sub Form_Unload(Cancel As Integer)
Call Descargar
End Sub
' ----------------------------------------------------------------------------------
' \\ -- Función para leer los datos del Excel y cargarlos en el Flex
' ----------------------------------------------------------------------------------
Private Sub Excel_FlexGrid(sPath As String, FlexGrid As Object, Filas As Integer, Columnas As Integer, Optional sSheetName As String = vbNullString)
Dim i As Long
Dim n As Long
On Error GoTo error_sub
' -- Comproba si existe l archivo
If Len(Dir(sPath)) = 0 Then
MsgBox "No se ha encontrado el archivo: " & sPath, vbCritical
Exit Sub
End If
Me.MousePointer = vbHourglass
' -- crea rnueva instancia de Excel
Set obj_Excel = CreateObject("Excel.Application")
'obj_Excel.Visible = True
' -- Abrir el libro
Set obj_Workbook = obj_Excel.Workbooks.Open(sPath)
' -- referencia la Hoja, por defecto la hoja activa
If sSheetName = vbNullString Then
Set obj_Worksheet = obj_Workbook.ActiveSheet
Else
Set obj_Worksheet = obj_Workbook.Sheets(sSheetName)
End If
' -- Setear Grid
With MSFlexGrid
' -- Especificar la cantidad de filas y columnas
'.Cols = Columnas
.Rows = Filas
' -- Recorrer las filas del FlexGrid para agregar los datos
For i = 1 To .Rows - 1
' -- Establecer la fila activa
.Row = i
' -- Recorrer las columnas del FlexGrid
For n = 0 To .Cols - 1
' -- Establecer columna activa
.Col = n
' -- Asignar a la celda del Flex el contenido de la celda del excel
.Text = obj_Worksheet.Cells(i + 1, n + 1).Value
Next
Next
End With
' -- Cerrar libro
obj_Workbook.Close
' -- Cerrar Excel
obj_Excel.quit
' -- Descargar objetos para liberar recursos
Call Descargar
' -- Errores
Exit Sub
error_sub:
MsgBox Err.Description
Call Descargar
Me.MousePointer = vbDefault
End Sub
' ----------------------------------------------------------------------------------
' \\ -- Función para descargar los objetos
' ----------------------------------------------------------------------------------
Private Sub Descargar()
On Local Error Resume Next
Set obj_Workbook = Nothing
Set obj_Excel = Nothing
Set obj_Worksheet = Nothing
Me.MousePointer = vbDefault
End Sub
' ----------------------------------------------------------------------------------
' \\ -- Botón para leer los datos del libro e importarlos al Grid
' ----------------------------------------------------------------------------------
Private Sub cmd_Click()
Call Excel_FlexGrid("D:\Me\Down\New\Exe\Test.xls", MSFlexGrid, 20, 5, "Export")
End Sub