Excel a pdf Guardar como

Tengo el siguiente codigo que logre en la red, me guarda TODO el libro en formato PDF, tenga 3 o 100 hojas el cual quiero agregarle alguna(s) lineas para que al guardar si existe el nombre del archivo me pregunte si quiero reemplazarlo o no.
Si respondo si, que lo reemplace, si respondo no que me de oportunidad de darle otr onombre.
Tal como se hace normalmente hasta con el blockNotas.
Pregunto porque de codigo y programacion nada se praticamente, conocimientos nulos, esa la razon por la cual recurro a ustedes.
Tal vez el MsgBox este demas o quede sobrante para lo que yo quiero. Si es sobrante, puede quitarse
Option Explicit
'Copia el libro completo en un PDF
' Nota: en este módulo, la macro llama a la funcion en el módulo
Sub RDB_Workbook_To_PDF()
Dim FileName As String
'Llamar a la función con los argumentos correctos
FileName = RDB_Create_PDF(ActiveWorkbook, "", True, True)
'Para un nombre fijo de archivo y sobrescribirlo cada vez que ejecute las macros, use tambien la siguiente linea
'RDB_Create_PDF(ActiveWorkbook, "C:\0\By_Jota.pdf", True, True)
If FileName <> "" Then
' Ok, encontrará el PDF donde la guardó
' Puede ejecutar la macro para correo aquí si desea
Else
MsgBox "No es posible crear el PDF, posibles razones:" & vbNewLine & _
"Complemento Microsoft no está instalado" & vbNewLine & _
"Usted ha cancelado el cuadro de diálogo Guardar como:" & vbNewLine & _
"No es correcta la ruta para guardar el archivo en arg 2" & vbNewLine & _
"Usted no desea sobrescribir el PDF existente, si existe", vbInformation, "INFORMACIÓN"
End If
End Sub
---------------------------------------------------------------------------
Function RDB_Create_PDF(Myvar As Object, FixedFilePathName As String, _
OverwriteIfFileExist As Boolean, OpenPDFAfterPublish As Boolean) As String
Dim FileFormatstr As String
Dim Fname As Variant
' Comprobar si está instalado el complemento de Microsoft
If Dir(Environ("commonprogramfiles") & "\Microsoft Shared\OFFICE" _
& Format(Val(Application.Version), "00") & "\EXP_PDF.DLL") <> "" Then
If FixedFilePathName = "" Then
'Abrir el cuadro de diálogo Guardar como: para introducir un nombre de archivo para el pdf
FileFormatstr = "PDF Files (*.pdf), *.pdf"
Fname = Application.GetSaveAsFilename("", filefilter:=FileFormatstr, _
Title:="Create PDF")
'Si se cancela el cuadro de diálogo, Salir de la función
If Fname = False Then Exit Function
Else
Fname = FixedFilePathName
End If
' Con subescribir fila si existe = False comprobamos si el PDF ya existe en la carpeta y salir de la función si es True
If OverwriteIfFileExist = True Then
If Dir(Fname) <> "" Then Exit Function
End If
'Ahora el nombre del archivo es correcto, Publicar como PDF
On Error Resume Next
Myvar.ExportAsFixedFormat Type:=xlTypePDF, FileName:=Fname, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=OpenPDFAfterPublish
On Error GoTo 0
' Si Acepta la publicación, la función devolverá el nombre del archivo
If Dir(Fname) <> "" Then RDB_Create_PDF = Fname
End If
End Function

Añade tu respuesta

Haz clic para o