Tengo este codigo para exportar el contenido de un msflexigrid a excel, pero en un principio me lo exportaba y ahoro no se que toque que no me lo exporta
Código vb:
Ver originalPublic Function cierreaExcel(grilla As MSFlexGrid) As Boolean
Dim i As Long, j As Long
Dim objExcel As Object
Dim objWorkbook As Object
On Error Resume Next ' por si se cierra Excel antes de cargar los datos
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
Set objWorkbook = objExcel.Workbooks.Add
For i = 0 To grilla.Rows - 1
grilla.Row = i
For j = 1 To grilla.Cols - 1
grilla.Col = j
If i = 0 Then
objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Interior.Color = &H80C0FF
objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Font.Bold = True
objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Value = grilla.text
Else
objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Style = "Comma"
objWorkbook.ActiveSheet.Cells(i + 1, j + 1).NumberFormat = "_-* #,##0.0_-;-* #,##0.0_-;_-* ""-""??_-;_-@_-"
objWorkbook.ActiveSheet.Cells(i + 1, j + 1).NumberFormat = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
objWorkbook.ActiveSheet.Cells(i + 1, j + 1).NumberFormat = "_-* #,##0_-"
objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Interior.Color = &HC0FFFF
objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Value = grilla.text
End If
Next
Next
objExcel.Cells.Select
objExcel.Selection.EntireColumn.AutoFit ' Ancho de columna
objWorkbook.ActiveSheet.Range("b1:i59").Borders().LineStyle = 1
objWorkbook.ActiveSheet.Range("A59:i59").Font.Bold = True
'objWorkbook.ActiveSheet.Columns("K:K").ColumnWidth = 13.71
objExcel.Range("b1").Select
objExcel.Visible = True
objExcel.ActiveWindow.SelectedSheets.PrintPreview ' Previsualizar informe
Set objWorkbook = Nothing
Set objExcel = Nothing
End Function
gracias