Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Logo Excel Avanzado

Guardar como PDF en VBA

| 5 comentarios

Para muchos usuarios es más práctico descargar un archivo PDF que en algún formato .xlsx, para ello en este artículo, se presentan dos alternativas que se desarrollarán para automatizar el proceso de conversión de una hoja de Excel a un formato PDF.

Prácticamente estas alternativas contienen el mismo código que cumplirá con el objetivo de convertir, lo único que se diferenciará es en la manera cómo se acepta el cambio de formato.

Guardar como PDF en VBA, Guardar como PDF en VBA

En la primera alternativa, la macro contiene un “botón” creado fácilmente en Formas donde se le asigna a dicha forma la macro desarrollada, para que al hacerle click se inicie con el proceso de cambio de formato, donde automáticamente se abre una ventana en un Explorer con el archivo ya en PDF.

 

En la segunda alternativa, el código que ejecuta el cambio de formato no está en un módulo, sino está empleado en un UserForm. En el cual se emplea un par de botones con comandos y se hace uso de una imagen. Uno de los botones es el encargado de que al presionarlo se ejecute el cambio de formato de la misma manera que la alternativa anterior, es decir, se abre automáticamente una ventana en el Explorer ya con el formato PDF. El otro botón simplemente se encarga de dar alternativa de no realizar el cambio de formato.

Descargar archivo con los ejemplos para guardar como PDF en VBA: Guardar como PDF en VBA

Por: Cinthya Mercado 

 

5 comentarios

  1. Una función útil, pero como seria la macro que convierte el archivo excel a pdf, lo imprime y guarda en una carpeta especificada.

  2. Una función útil, pero como seria la macro que convierte el archivo excel a pdf, lo imprime y guarda en una carpeta especificada?

  3. Estoy tratando de crear un archivo pdf de una de las hojas de un libro excel desde un boton de un formulario y no lo consigo.
    La macro que estos usando es:

    Private Sub CommandButton5_Click()

    Dim Path As String
    Dim NombreArchivo As String
    Dim Hoja As Object

    With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "EXCELeINFO" = "SELECIONE CARPETA"
    .Show

    Path = .SelectedItems(1)

    Hoja = Worksheets.Hoja3("HR")
    NombreArchivo = Hoja3.Name

    If NombreArchivo Like "*hoja3*" Then
    MsgBox "GUARDANDO PDF " & NombreArchivo, vbInformation, "EXCELeINFO"
    Hoja.ExportAsFixedFormat Type:=x1TypePDF, _
    Filename:=Path & "\" & NombreArchivo & ".pdf", quality:=x1QualityStandard, openafterpublish:=False

    Else

    End If

    End With
    End Sub

  4. Hola Cinthya!

    En vez del nombre "archivo" necesito que lo guarde con el nombre de una formula que tengo en la celda I3 en una hoja llamada Consulta OT
    ¿Cómo lo puedo hacer?

    Si me pudieses ayudar te lo agradecería mucho.

  5. Si archivo existe, como es el codigo para que pregunte si lo reemplaza

Deja una respuesta

Los campos requeridos estan marcados con *.