Visual Basic - importar de excel para un flexgrid

Life is soft - evento anual de software empresarial
 
Vista:

importar de excel para un flexgrid

Publicado por miguel (1 intervención) el 29/03/2012 18:04:40
muy buenos días amigo, estoy realizando un proyecto y necesito de su ayuda, tengo un flexgrid con unos datos cargados y necesito llenar dos columna de mi flexgrid con un archivo de excel o un txt.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

importar de excel para un flexgrid

Publicado por cesar nikolaz (1 intervención) el 15/04/2015 17:53:57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Option 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 "
    Command1.Caption = " 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
 
' ----------------------------------------------------------------------------------  
' \\ -- 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 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 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 Command1_Click()
    Call Excel_FlexGrid("c:\libro.xls", MSFlexGrid1, 20, 5, "Sheet1")
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar