none
exportar datagrid a excel

    Question


  • Hola a todos tengo el siguiente codigo en VB 6.0 para exportar data de un datagrid a excel, pero quiero modificar la exportacion: ya que la consulta me exporta toda una tabla con campos que yo he seleccionado, pero en el campo zona: tiene 3 distintas zonas NORTE, SUR Y CENTRO y cuando lo exporto me sale los 3 juntos, quiero que los exporte en libros distintos y estos sean guardados.

    haber si alguien me ayuda con este tema. gracias

     

     

    Private Sub exportar_Datagrid(Datagrid As Datagrid, n_Filas As Long)
     
        On Error GoTo Error_Handler
         Dim ObjExcel   As Object
         Dim Obj_Libro   As Object
         Dim Obj_Hoja    As Object
         Dim i           As Integer
         Dim j           As Integer
      
      
       Me.MousePointer = vbHourglass
          
        If n_Filas = 0 Then
            MsgBox "No hay datos para exportar a excel. Se ha indicado 0 en el parámetro Filas ":
            Exit Sub
        Else
              
            ' -- Crear nueva instancia de Excel
            Set ObjExcel = CreateObject("Excel.Application")
            ' -- Agregar nuevo libro
               ObjExcel.Workbooks.Add
            ' -- Referencia a la Hoja activa ( la que añade por defecto Excel )
            Set Obj_Hoja = ObjExcel.ActiveSheet
          ObjExcel.Sheets("Hoja1").Name = "Reporte Cartera"
    ' titulo
    ObjExcel.ActiveSheet.Cells(1, 3) = "REPORTE DE CREDITOS: Según los Días de Atraso Disgregados por Negocios / Línea Base"
    With ObjExcel.ActiveSheet.Cells(1, 3).Font
    .Color = vbBlack
    .Name = "arial"
    .Size = 11
    .Bold = True
    End With
      
      
            iCol = 0
            ' --  Recorrer el Datagrid ( Las columnas )
            For i = 0 To DataGrid1.Columns.Count - 1
                If DataGrid1.Columns(i).Visible Then
                    ' -- Incrementar índice de columna
                    iCol = iCol + 1
                    ' -- Obtener el caption de la columna
                    Obj_Hoja.Cells(4, iCol) = DataGrid1.Columns(i).Caption
                    ' -- Recorrer las filas
                    For j = 3 To n_Filas - 1
                        ' -- Asignar el valor a la celda del Excel
                        Obj_Hoja.Cells(j + 2, iCol) = _
                        DataGrid1.Columns(i).CellValue(DataGrid1.GetBookmark(j))
                    Next
                End If
               
            Next
              
            ' -- Hacer excel visible
            
            ObjExcel.Visible = True
            ObjExcel.SheetsInNewWorkbook = 1
           
              With Obj_Hoja
                .Rows(4).Font.Bold = True
                .Rows(4).Font.Size = 9
                .Row(1).Font.arial = True
                .Columns("A:Z").AutoFit
                 End With
                 
              End If
           
          
        ' -- Eliminar las variables de objeto excel
        Set Obj_Hoja = Nothing
        Set Obj_Libro = Nothing
        Set ObjExcel = Nothing
          
        ' -- Restaurar cursor
        Me.MousePointer = vbDefault
            
    Exit Sub

    ' -- Error
    Error_Handler:
     
        MsgBox Err.Description, vbCritical
        On Error Resume Next
        Set Obj_Hoja = Nothing
        Set Obj_Libro = Nothing
        Set ObjExcel = Nothing
        Me.MousePointer = vbDefault
     
    End Sub

     


    maculdes
    Friday, November 11, 2011 7:21 PM