[Link]
htm
Option Explicit
' \\ -- Autor :
Luciano Lodola -- [Link]
' ---------------------------------------------------------------------------------
' -- 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()
[Link] = " Importar Excel a FlexGrid "
[Link] = " Importar a Flexgrid "
' -- Configurar el Grid
With MSFlexGrid1
.Cols = 10
.FixedCols = 0
End With
End Sub
' ---------------------------------------------------------------------------------' \\ -- Fin
' ---------------------------------------------------------------------------------Private Sub Form_Unload(Cancel As Integer)
Call Descargar
End Sub
' ---------------------------------------------------------------------------------' \\ -- Funcin 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
[Link] = vbHourglass
' -- crea rnueva instancia de Excel
Set obj_Excel = CreateObject("[Link]")
'obj_Excel.Visible = True
' -- Abrir el libro
Set obj_Workbook = obj_Excel.[Link](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 MSFlexGrid1
' -- 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 [Link]
Call Descargar
[Link] = vbDefault
End Sub
' ---------------------------------------------------------------------------------' \\ -- Funcin para descargar los objetos
' ---------------------------------------------------------------------------------Private Sub Descargar()
On Local Error Resume Next
Set obj_Workbook = Nothing
Set obj_Excel = Nothing
Set obj_Worksheet = Nothing
[Link] = vbDefault
End Sub
' ---------------------------------------------------------------------------------' \\ -- Botn para leer los datos del libro e importarlos al Grid
' ---------------------------------------------------------------------------------Private Sub Command1_Click()
Call Excel_FlexGrid("c:\[Link]", MSFlexGrid1, 20, 5, "Sheet1")
End Sub