VBA, Botón que cree un PDF del excel y lo envíe al escritorio.

Lo que dice el titulo.

Necesito crear un Botón en este caso es "CommandButton3" que al apretar este imprima o solo envíe mi excel como pdf al escritorio. Para el pdf solo necesito las casillas desde "A hasta G10" Gracias

1 respuesta

Respuesta
1

Fenryz guarda esta macro y se la asignas al "CommandButton3"

Cualquier cosa me comenta y con gusto

Saludos

Sub ImpPDF()
    Dim RutaArchivo As String
    RutaArchivo = "C:\Users\Victorm\Desktop\Archivopdf.pdf"
    Range("A1:G10").Select
    Range("A1").Activate
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    RutaArchivo, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False
    Range("B1").Select
End Sub

Y como le asigno el macro a mi "CommandButton3"  hehe

No se que hice pero ya me funciona haha, lo que si. Solo envía el trabajo en mi pc, en otros computadores tira error. ¿Cómo puedo hacer esto sin tener que cambiar el usuario en cada computador en el que use esto?

¿Qué error da? Si me envía su archivo podría revisarlo y tratar de detectar cual es el problemas

Es en la macros, en la ruta más espesifico "C:\Users\Fenryz Feluryan\Desktop\Trabajo Excel.pdf"

Ese es el error si yo habro desde otro pc el usuario no sera el mismo "Fenryz Feluryan" hay alguna forma de poner un eh... usuario estándar. Cosa que abra el pdf en todos los pc, si no, no hay problema que solo es una línea de comando lo que hay que editar haha Muchas Gracias!

Fen con este cambio debería detectar en cada equipo el usuario y guardarlo en el escritorio

Saludos

Public Function PathEscritorio() As String
    PathEscritorio = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
End Function
Sub ImpPDF()
    Dim RutaArchivo As String
    RutaArchivo = PathEscritorio() & "Archivopdf.pdf"
    Range("A1:G10").Select
    Range("A1").Activate
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    RutaArchivo, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False
    Range("B1").Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas