Guardar PDF con nombre de archivo

Dante

E ayudaste en una macro para guardar en PDF con una cantidad de celdas seleccionadas, ahora quisiera poder modificar el nombre con que se guarda el archivo, actualmente se guarda según lo descrito en una celda pero necesito que su nombre sea el mismo que el nombre del archivo Excel que utilizo, pero que se mantenga la variante de la fecha en el nombre. ¿Me puedes ayudar?

La Macro es:

Sub PDF()
    Dim ws As Worksheet
    Dim strPath As String
    Dim strFile As String
    Dim Archivo As String
    Dim primera, ultima As Variant
    Dim Ruta As String
    Archivo = Sheets("GENERAL").Range("Q2").Value
    Confirmacion = MsgBox("Desea Crear un PDF de la '" & Archivo & "' ?", _
    vbQuestion + vbYesNo, "IHL Publicidad")
    Application.ScreenUpdating = False
    '
    Ruta = "C:\Users\Silviom\Dropbox\IHL (1)\IHL Silvio\cotizaciones\PDF"
    If Confirmacion = vbYes Then
        Set ws = ActiveSheet
        'enter name and select folder for file
        ' start in current workbook folder
        strFile = Replace(Replace(Archivo, " ", " "), ".", "_") _
        & "_" _
        & Format(Now(), "dd-mm-yyyy") _
        & ".pdf"
        strFile = Ruta & "\" & strFile
        '
        'Act.Por.Dante Amor
        With Application.FileDialog(msoFileDialogSaveAs)
            .Title = "Guardar archivo como"
            .AllowMultiSelect = False
            .InitialFileName = strFile
            .FilterIndex = 25
            If .Show Then
                march = .SelectedItems(1)
                Range("A1:E73").Select
                Range("A1").Activate
                Selection.ExportAsFixedFormat _
                        Type:=xlTypePDF, _
                        Filename:=march, _
                        Quality:=xlQualityStandard, _
                        IncludeDocProperties:=True, _
                        IgnorePrintAreas:=False, _
                        OpenAfterPublish:=True
                MsgBox "Archivo PDF Creado.", vbInformation
            Else
                MsgBox "No se ha generado el Archivo PDF", vbExclamation, "CANCELADO"
            End If
        End With
    End If
End Sub
Respuesta
1

H o l a:

Te anexo la macro actualizada

Sub PDF()
'Act.Por.Dante Amor
    Application.ScreenUpdating = False
    '
    conf = MsgBox("Desea Crear un PDF de la '" & archivo & "' ?", vbQuestion + vbYesNo, "IHL Publicidad")
    ruta = "C:\Users\Silviom\Dropbox\IHL (1)\IHL Silvio\cotizaciones\PDF"
    If conf = vbYes Then
        arch = ThisWorkbook.Name
        arch = Left(arch, InStrRev(arch, ".") - 1)
        arch = ruta & "\" & arch & "_" & Format(Date, "dd-mm-yyyy") & ".pdf"
        '
        With Application.FileDialog(msoFileDialogSaveAs)
            .Title = "Guardar archivo como"
            .AllowMultiSelect = False
            .InitialFileName = arch
            .FilterIndex = 25
            If .Show Then
                march = .SelectedItems(1)
                Range("A1:E73").ExportAsFixedFormat Type:=xlTypePDF, Filename:=march, _
                        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                        IgnorePrintAreas:=False, OpenAfterPublish:=True
                MsgBox "Archivo PDF Creado.", vbInformation
            Else
                MsgBox "No se ha generado el Archivo PDF", vbExclamation, "CANCELADO"
            End If
        End With
    End If
End Sub

Nota: En VBA no es necesario declarar las variables.


La pregunta no admite más respuestas

Más respuestas relacionadas