Como ví que lo que tengo que hacer es configurar una impresora virtual,
bajé el cutepdf, para imprimir en pdf, y si imprimo informes con la
impresora que configuré de adobe, me lo exporta bien,
el tema es que quiero poner un botón en un vba que diga:
Exportar a PDF
Exportar a XLS
Ver informe..
.,..
..
entonces, cuando ponga exportar a pdf, tendría que poner la impresora en el
código de VBA , pero no tengo ni idea como se hace esto...
si alguien me da una mano se lo agradezco,
Saludos,
Martín
Private Sub ImprimirPDF_Click()
'asignamos la impresora de CuttePDF como impresora por defecto
' indice se refiere al numero asignado por windows como impresora
Set Application.Printer = Application.Printers(indice)
'imprimimos el documento
DoCmd.PrintOut
End Sub
Espero que te sirva, a mi por lo menos en Access 2003 me funciona.
Adolfo Alvarez
"Martín" <martin.g...@ingap.com.uy> escribió en el mensaje de
noticias:ezVKaPWo...@TK2MSFTNGP02.phx.gbl...
tengo win 2000, y no lo vi en la conf de impresoras
gracias
Martín
"FITO" <belce...@hotmail.com> escribió en el mensaje
news:3D442857-B5E4-4ECE...@microsoft.com...
Option Compare Database
'Definimos una variable general que representa el objeto impresora
Dim prtLoop As Printer
Private Sub ImprimirPDF_Click()
On Error GoTo Err_ImprimirPDF_Click
' recorremos la coleccion de impresoras existentes en nuestro windows
For Each prtLoop In Application.Printers
With prtLoop
' cuando encontramos la impresora Que deseamos (en este caso CutePDF
Writer)
' imprimimos el documento.
If .DeviceName = "CutePDF Writer" Then
DoCmd.PrintOut
' como ya hemos imprimido salimos del bucle para no ocupar mas
memoria
Exit For
End If
End With
Next prtLoop
Exit_ImprimirPDF_Click:
Exit Sub
Err_ImprimirPDF_Click:
MsgBox Err.Description
Resume Exit_ImprimirPDF_Click
End Sub
Espero que te sirva...;)
Adolfo.
"Martín" <martin.g...@ingap.com.uy> escribió en el mensaje de
noticias:ejffdp8o...@TK2MSFTNGP03.phx.gbl...
pero no me ha funcionado, te copio el código que tengo en el botón del form,
(que es casi todo lo que has puesto tu, salvo la linea de impresión)
///////////////////////////////////
Private Sub ImprimirPDF_Click()
On Error GoTo Err_ImprimirPDF_Click
' recorremos la coleccion de impresoras existentes en nuestro windows
For Each prtLoop In Application.Printers
With prtLoop
' cuando encontramos la impresora Que deseamos (en este caso
CutePDFWriter)
' imprimimos el documento.
If .DeviceName = "CutePDF Writer" Then
DoCmd.OpenReport "Sueldos", acNormal, , "imprimir = false and
NroSocio = " & NroSocio
' como ya hemos imprimido salimos del bucle para no ocupar mas
nmemoria
Exit For
End If
End With
Next prtLoop
Exit_ImprimirPDF_Click:
Exit Sub
Err_ImprimirPDF_Click:
MsgBox Err.Description
Resume Exit_ImprimirPDF_Click
End Sub
/////////////////////////////////////////////
"FITO" <belce...@hotmail.com> escribió en el mensaje
news:99966CBB-07E7-42CF...@microsoft.com...
Dim prtLoop As Printer
Dim stDocName As String
Private Sub ImprimirPDF_Click()
On Error GoTo Err_ImprimirPDF_Click
' recorremos la coleccion de impresoras existentes en nuestro windows
For Each prtLoop In Application.Printers
With prtLoop
' cuando encontramos la impresora Que deseamos (en este caso CutePDF
Writer)
' imprimimos el documento.
If .DeviceName = "CutePDF Writer" Then
'asignamos la impresora por defecto **** esta linea debería ir
antes del informe a imprimir ****
Application.Printer = prtLoop
'imprimimos el Informe sueldos
stDocName = "Sueldos"
DoCmd.OpenReport stDocName, acViewNormal, , ""imprimir = false
and NroSocio = " & NroSocio
' una vez imprimido liberamos la impresora por defecto
Set Application.Printer = Nothing
' como ya hemos imprimido salimos del bucle para no ocupar mas
memoria
Exit For
End If
End With
Next prtLoop
Exit_ImprimirPDF_Click:
Exit Sub
Err_ImprimirPDF_Click:
MsgBox Err.Description
Resume Exit_ImprimirPDF_Click
End Sub
Adolfo Alvarez ;))
"Martín" <martin.g...@ingap.com.uy> escribió en el mensaje de
noticias:uAF4nCHp...@TK2MSFTNGP03.phx.gbl...
Estava buscando un ejemplo como el que proporcionas a Martin, funciona todo
menos esta linea:
DoCmd.OpenReport stDocName, acViewNormal, , ""imprimir = false
and NroSocio = " & NroSocio
Me funciona si la modifico y pongo:
DoCmd.OpenReport stDocName, acViewNormal, "& Codi"
El problema lo tengo cuando abre el documento creado en pdf (utilizo adobe
pdf) y no quiero ver el fichero ya que quiero realizar su envio via e-mail.
Otro punto seria si podemos guardarlo directamente con el nombre del informe
+ Codi (en mi caso) para conservar lo informes generados.
Me puedes ayudar en algun caso?
Muchas Gracias
"FITO" wrote:
> Perdona Martin, pero no he podido conectarme hasta hoy.
> He revisado el codigo y es verdad no funciona.
> Este solo funcionaria en caso de que quisieses imprimir el Form en formato
> pdf.
> Pero viendo lo que quieres hacer me parece que el que te coloco a
> continuacin funcionara correctamente.
> Pruebalo y dime algo,
> Option Compare Database
> 'Definimos una variable general que representa el objeto impresora
>
> Dim prtLoop As Printer
> Dim stDocName As String
>
> Private Sub ImprimirPDF_Click()
> On Error GoTo Err_ImprimirPDF_Click
>
> ' recorremos la coleccion de impresoras existentes en nuestro windows
>
> For Each prtLoop In Application.Printers
> With prtLoop
> ' cuando encontramos la impresora Que deseamos (en este caso CutePDF
> Writer)
> ' imprimimos el documento.
>
> If .DeviceName = "CutePDF Writer" Then
>
>
> 'asignamos la impresora por defecto **** esta linea debera ir
> antes del informe a imprimir ****
> Application.Printer = prtLoop
> 'imprimimos el Informe sueldos
> stDocName = "Sueldos"
> DoCmd.OpenReport stDocName, acViewNormal, , ""imprimir = false
> and NroSocio = " & NroSocio
> ' una vez imprimido liberamos la impresora por defecto
> Set Application.Printer = Nothing
> ' como ya hemos imprimido salimos del bucle para no ocupar mas
> memoria
>
>
> Exit For
>
> End If
>
> End With
>
> Next prtLoop
>
> Exit_ImprimirPDF_Click:
> Exit Sub
> Err_ImprimirPDF_Click:
> MsgBox Err.Description
> Resume Exit_ImprimirPDF_Click
>
> End Sub
>
> Adolfo Alvarez ;))
>
>
> "Martn" <martin.g...@ingap.com.uy> escribi en el mensaje de
> noticias:uAF4nCHp...@TK2MSFTNGP03.phx.gbl...
> > gracias por la ayuda antes que nada,
> >
> > pero no me ha funcionado, te copio el cdigo que tengo en el botn del
> > form,
> > (que es casi todo lo que has puesto tu, salvo la linea de impresin)
> > "FITO" <belce...@hotmail.com> escribi en el mensaje
> >> "Martn" <martin.g...@ingap.com.uy> escribi en el mensaje de
> >> noticias:ejffdp8o...@TK2MSFTNGP03.phx.gbl...
> >> > bien, pero cmo s ese ndice??
> >> >
> >> > tengo win 2000, y no lo vi en la conf de impresoras
> >> >
> >> > gracias
> >> > Martn
> >> > "FITO" <belce...@hotmail.com> escribi en el mensaje
> >> > news:3D442857-B5E4-4ECE...@microsoft.com...
> >> >> Primero deberias saber el indice de la impresora de PDF
> >> >> y luego asignarla como impresora al pulsar el boton.
> >> >> por ej:
> >> >>
> >> >> Private Sub ImprimirPDF_Click()
> >> >> 'asignamos la impresora de CuttePDF como impresora por defecto
> >> >> ' indice se refiere al numero asignado por windows como impresora
> >> >>
> >> >> Set Application.Printer = Application.Printers(indice)
> >> >>
> >> >> 'imprimimos el documento
> >> >>
> >> >> DoCmd.PrintOut
> >> >>
> >> >> End Sub
> >> >>
> >> >> Espero que te sirva, a mi por lo menos en Access 2003 me funciona.
> >> >>
> >> >> Adolfo Alvarez
> >> >>
> >> >> "Martn" <martin.g...@ingap.com.uy> escribi en el mensaje de
> >> >> noticias:ezVKaPWo...@TK2MSFTNGP02.phx.gbl...
> >> >> > Hola,
> >> >> > el problema en s, es que quiero exportar a un pdf, el resultado de
> > un
> >> >> > listado de una consulta.
> >> >> >
> >> >> > Como v que lo que tengo que hacer es configurar una impresora
> > virtual,
> >> >> >
> >> >> > baj el cutepdf, para imprimir en pdf, y si imprimo informes con la
> >> >> > impresora que configur de adobe, me lo exporta bien,
> >> >> >
> >> >> > el tema es que quiero poner un botn en un vba que diga:
> >> >> >
> >> >> > Exportar a PDF
> >> >> > Exportar a XLS
> >> >> > Ver informe..
> >> >> > .,..
> >> >> > ..
> >> >> >
> >> >> > entonces, cuando ponga exportar a pdf, tendra que poner la
> >> >> > impresora
> >> >> > en
> >> >> > el
> >> >> > cdigo de VBA , pero no tengo ni idea como se hace esto...
> >> >> >
> >> >> > si alguien me da una mano se lo agradezco,
> >> >> >
> >> >> > Saludos,
> >> >> > Martn
> >> >> >
> >> >> >
> >> >
> >> >
> >
> >