guizans   06-04-2025, 16:52
#1
Hola a todos.

El programa que estoy haciendo genera un report. Esta parte la tengo más o menos controlada. ¿Se puede hacer que guarde ese report directamente sin que se abra el diálogo de imprimir?, es decir, pulso un botón, se genera el report y automaticamente se guarda en el disco duro en un lugar predeterminado, sin intervención del usuario. 
 Lo quiero hacer así por que ese report lo tengo que enviar por correo electrónico, así sería pulsar un botón y automaticamente hace todo el proceso el solo, sin intervención del usuario. No se si me explico bien o si se puede.

Muchas gracias.
Última modificación: Hace 2 horas por guizans.
guizans   Hace 2 horas
#2
Hoy he retomado el tema. Veo que hay un método de la clase Report que es Print. Trato de ver como funciona pero como la documentación es escasa o nula, lo dejo por imposible. Como último recurso le pregunto a la IA, sin muchas esperanzas. Cual ha sido mi sorpresa cuando me ha dado la solución a la primera.

Código:
Public Sub GuardarReportPDF(hReport As Report, sRuta As String)
  Dim hPrinter As New Printer
  With hPrinter
    .Paper = Printer.A4
    .Resolution = Desktop.Resolution
    .OutputFile = sRuta
  End With
  hReport.Print()
End

GuardarReportPDF(New rptGastos, User.Home &/ "reporte.pdf")

Por las pocas pruebas que he podido hacer, esto en principio funciona bien, tengo que usarlo con mas intensidad a ver si encuentro algún error o algo que no funcione bien.

Un saludo.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2026 MyBB Group.
Made with by Curves UI.