• Viernes 8 de Noviembre de 2024, 20:56

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - caroso77

Páginas: [1]
1
Visual Basic 6.0 e inferiores / Re: Imprimir Rango De Excel En Visual Basic 6
« en: Miércoles 26 de Septiembre de 2007, 22:26 »
muchas gracias Tanori por tu respuesta lo probaré y lo tendré en cuenta!!!...pero te comento que lo resolví de esta manera y me funciona perfecto... :D

saludos cordiales  :hola:  y gracias por tomarte la amabilidad de responder.
lo solucioné asi: :comp:
 
Fila = FlexGrid.Rows
Columna = FlexGrid.Cols

for.....
aqui hace el volcado de datos
next....

luego al salir:
Range(Cells(1,1), Cells(Fila, Columna)).Select

2
Visual Basic 6.0 e inferiores / Imprimir Rango De Excel En Visual Basic 6
« en: Martes 25 de Septiembre de 2007, 16:25 »
hola a todos   :hola: ...el motivo de mi consulta es para saber si alguien tiene una idea o algo de como podría resolver la siguiente cuestión....:   :unsure:

tengo un exportar a excel que funciona perfecto...me exporta y selecciona un rango fijo que le doy...y asi me lo imprime perfecto tambien, segun la seleccion...o sea hace lo correcto...el tema es que no siempre tendré esa cantidad de columnas y filas ...hay alguna manera que se les pueda ocurrir para hacer que el rango cambie de acuerdo a la cantidad de columnas que tenga mi flexgrid? que es de donde se exportan los datos al excel...seria un rango dinamico lo que necesito...desde ya muchas gracias a cualquier ayuda o idea que tengan...y sino muchas gracias de igual manera por detenerse a leer este mensaje...saludos cordiales....y ahi les dejo mi codigo del mi funcion exportar excel para que lo vean.  

'************************************************************************
'FUNCION QUE EXPORTA A EXCEL
'************************************************************************
Public Function Exportar_Excel(FlexGrid As MSFlexGrid) As Boolean

'si ya se cargo la grilla o no para no exportar vacio
If MSFlexGrid1 = "" Then
MsgBox " Debe hacer la consulta antes de exportar ", vbInformation, "Atención"
Command1.SetFocus
Else



On Error GoTo errSub ' si se cancela el exportar o si hay error

'Variable para la aplicación Excel, el libro y la hoja
Dim o_Excel As Object


'Para las filas y columnas del FlexGrid y la Hoja
Dim Fila As Integer
Dim Columna As Integer

Exportar_Excel = False


' crea los objetos y agrega el libro y la hoja
Set o_Excel = New EXCEL.Application
o_Excel.Visible = True ' hacemos visible el excel automaticamente

o_Excel.Workbooks.Add

o_Excel.Worksheets.Add

'llama a la funcion comprobar para saber si tiene el excel instalado
If Comprobar("Excel.Application") = False Then
MsgBox " error el excel no se pudo abrir o no existe"
Set o_Excel = Nothing

Else ' si esta el excel continua correctamente
' Recorremos el FlexGrid por filas y columnas
For Fila = 0 To FlexGrid.Rows - 1

For Columna = 0 To FlexGrid.Cols - 1

' Agrega el Valor en la celda indicada del Excel
o_Excel.Cells(Fila + 1, Columna + 1).Value = _
FlexGrid.TextMatrix(Fila, Columna)

Next Columna

Next Fila

'*************************************************************************
'Opcional : colocamos en negrita los enbezados en la hoja
o_Excel.Rows(1).Font.Bold = True '...con la negrita ya esta bien


Range("A1:F58").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$3"
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = "$A$1:$L$39"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(1.18110236220472)
.RightMargin = Application.InchesToPoints(0.78740157480315)
.TopMargin = Application.InchesToPoints(0.78740157480315)
.BottomMargin = Application.InchesToPoints(0.78740157480315)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 300
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 99
End With


' Elimina las instancias
If Not o_Excel Is Nothing Then
Set o_Excel = Nothing
End If

Exportar_Excel = True

'aca cierra el if de COMPROBAR
End If
End If 'cierra el 1er if
Exit Function

'Error
errSub:

'Cierra la hoja y la aplicación Excel

If Not o_Excel Is Nothing Then: o_Excel.Quit

'Liberar los objetos
Set o_Excel = Nothing

If Err.Number <> 0 Then
MsgBox Err.Number & " - " & Err.Description
End If

End Function

Páginas: [1]