Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2010, 11:15
Avatar de gasafonso
gasafonso
 
Fecha de Ingreso: septiembre-2008
Mensajes: 357
Antigüedad: 15 años, 8 meses
Puntos: 1
Pregunta Problema Exportando a Excel

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 original
  1. Public Function cierreaExcel(grilla As MSFlexGrid) As Boolean
  2.     Dim i As Long, j As Long
  3.     Dim objExcel As Object
  4.     Dim objWorkbook As Object
  5.     On Error Resume Next ' por si se cierra Excel antes de cargar los datos
  6.    Set objExcel = CreateObject("Excel.Application")
  7.     objExcel.Visible = False
  8.     Set objWorkbook = objExcel.Workbooks.Add
  9.     For i = 0 To grilla.Rows - 1
  10.        grilla.Row = i
  11.         For j = 1 To grilla.Cols - 1
  12.             grilla.Col = j
  13.             If i = 0 Then
  14.                 objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Interior.Color = &H80C0FF
  15.                 objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Font.Bold = True
  16.                 objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Value = grilla.text
  17.             Else
  18.                 objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Style = "Comma"
  19.                 objWorkbook.ActiveSheet.Cells(i + 1, j + 1).NumberFormat = "_-* #,##0.0_-;-* #,##0.0_-;_-* ""-""??_-;_-@_-"
  20.                 objWorkbook.ActiveSheet.Cells(i + 1, j + 1).NumberFormat = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
  21.                 objWorkbook.ActiveSheet.Cells(i + 1, j + 1).NumberFormat = "_-* #,##0_-"
  22.                 objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Interior.Color = &HC0FFFF
  23.                 objWorkbook.ActiveSheet.Cells(i + 1, j + 1).Value = grilla.text
  24.             End If
  25.         Next
  26.     Next
  27.        
  28.     objExcel.Cells.Select
  29.     objExcel.Selection.EntireColumn.AutoFit    ' Ancho de columna
  30.    objWorkbook.ActiveSheet.Range("b1:i59").Borders().LineStyle = 1
  31.     objWorkbook.ActiveSheet.Range("A59:i59").Font.Bold = True
  32.     'objWorkbook.ActiveSheet.Columns("K:K").ColumnWidth = 13.71
  33.    objExcel.Range("b1").Select
  34.     objExcel.Visible = True
  35.    
  36.     objExcel.ActiveWindow.SelectedSheets.PrintPreview ' Previsualizar informe
  37.    Set objWorkbook = Nothing
  38.     Set objExcel = Nothing
  39. End Function


gracias