SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Visual Basic para principiantes => Mensaje iniciado por: FREELANCE en Sábado 5 de Mayo de 2007, 21:53

Título: Como Imprimir Un Rango En Un Spreadsheet
Publicado por: FREELANCE en Sábado 5 de Mayo de 2007, 21:53
tengo en un formulario un control Spreadsheet con una rango ("A1:G54"), cual es el o las lineas que debo colocar a un boton de comando para que me imprima ese rango?
 Frm_formulario.Spreadsheet1.Range("A1:G54").Select, con esta sentencia selecciono lo que quiero imprimir, pero despues que hago?. ayudenme por favor y de antemano muchas gracias por la respuesta
Título: Re: Como Imprimir Un Rango En Un Spreadsheet
Publicado por: F_Tanori en Sábado 5 de Mayo de 2007, 23:44
Hola

al parecer no hay un metodo de impresion, he probado de esta manera y se ha podido imprimir (a través de Excel)



Código: Text
  1. Function ImprimirRango(Rango As String)
  2. On Error GoTo xError
  3.  Dim oExcel As Object
  4.  
  5.  Set oExcel = CreateObject("Excel.Application")
  6. ' oExcel.Visible = True 'Mostrar aplicacion
  7.  
  8.    With oExcel
  9.         .WorkBooks.Add
  10.        
  11.             With Spreadsheet1
  12.                 .Range(Rango).Select
  13.                 .Selection.Copy
  14.             End With
  15.        
  16.         .Range(Rango).Select
  17.         .ActiveSheet.Paste
  18.         .Range(Rango).Select
  19.         .Selection.PrintOut Copies:=1, Collate:=True
  20.         .WorkBooks(1).Close (False)
  21.     End With
  22.    
  23.    oExcel.Quit 'Cerrar Aplicacion
  24.    Set oExcel = Nothing 'Destruir Objeto
  25.  
  26. xError:
  27. If Err.Number > 0 Then
  28.    MsgBox (Err.Description)
  29.    Err.Clear
  30. End If
  31. End Function
  32.  
  33.  

Ejemplo

Código: Text
  1. Private Sub Command1_Click()
  2.    ImprimirRango ("A1:G54")
  3. End Sub
  4.  
  5.  

Saludos Espero te sirva


y no esta de mas recordar el no repetir preguntas :)