Exportar selección a PDF automáticamente

0

 

Código:


Sub GuardarPDFSeleccionado()
    Dim NombreArchivoBase As String
    Dim RutaGuardado As String
    Dim NombreCompletoPDF As String
    
    If ThisWorkbook.Path = "" Then
        MsgBox "¡ATENCIÓN! Este libro no ha sido guardado. Guarde el libro primero o cancele.", vbCritical
        Exit Sub
    End If
    
    If Selection Is Nothing Then
        MsgBox "ERROR: Por favor, selecciona el rango de celdas que deseas exportar a PDF.", vbCritical
        Exit Sub
    End If
    
    NombreArchivoBase = ActiveSheet.Range("A1").Value
    
    If Trim(NombreArchivoBase) = "" Then
        NombreArchivoBase = ActiveSheet.Name
    End If
    
    Dim CaracteresInvalidos As Variant
    CaracteresInvalidos = Array(":", "\", "/", "?", "*", "<", ">", "|", Chr(34))
    
    Dim i As Long
    For i = LBound(CaracteresInvalidos) To UBound(CaracteresInvalidos)
        NombreArchivoBase = Replace(NombreArchivoBase, CaracteresInvalidos(i), "_")
    Next i
    
    RutaGuardado = ThisWorkbook.Path & Application.PathSeparator
    NombreCompletoPDF = RutaGuardado & NombreArchivoBase & "_" & Format(Date, "YYYY-MM-DD") & ".pdf"
    
    On Error GoTo ManejoError
    
    Selection.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=NombreCompletoPDF, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        OpenAfterPublish:=True
        
    On Error GoTo 0
    
    MsgBox "El PDF se guardó con éxito como:" & vbCrLf & NombreCompletoPDF, vbInformation
    
    Exit Sub
    
ManejoError:
   If Err.Number = 1004 Then
        MsgBox "ERROR '1004' (Guardado Fallido): El archivo PDF con este nombre puede estar abierto. Cierre el archivo PDF y vuelva a intentarlo.", vbExclamation
    Else
        MsgBox "Se produjo un error inesperado " & Err.Number & ": " & Err.Description, vbCritical
    End If    
End Sub


⭐ Si te gustó, por favor regístrate en nuestra Lista de correo y Suscríbete a mi canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.

Entradas que pueden interesarte

Sin comentarios

Etiquetas:
#aprendiendoexcel365, #josealcaldealias, #Excel, #funciones, #UDF, #Visual Basic, #VBA, #DAX, #Tips, #Basico, #Microsoft Excel, #Cursos Excel OnLine, #Aprende Excel, #Aprende Excel OnLine, #Excel 365, #Power Pivot, #Power BI, #Power Query, #Google Sheets, #Macros, #Código VBA, #Tutoriales Excel, #MTV, #Vbscript, #TypeScript, #Lenguaje M, #fórmulas, #funciones, #paso a paso, #funciones Excel, #libros, #tablas, #formatos, #hojas, #datos, #gráfico, #análisis de datos, #base de datos, #dashboards, #tablas dinámicas, #excel desde cero, #hoja de cálculo, #plantillas de Excel