Macro para crear un Pdf de un archivo excel, con nombre de celda, en una carpeta creada por la misma macro

Me gustaría, por favor, que alguien me ayudase a desarrollar una macro en excel que me permita crear una carpeta, con el nombre de una celda del libro excel, dónde a continuación me guarde un archivo Pdf en esa carpeta. La carpeta debe estar ubicada donde esta el archivo excel

Respuesta
2

[Hola

Para crear una carpeta dentro de la carpeta en donde está tu archivo, basta una línea de este tipo:

MkDir thisworkbook.Path & "\Nueva"

En donde yo coloco "Nueva", obviamente tú usa el nombre que prefieras.

Para convertir archivos, hojas o rangos  a  pdf y guardarlos, solo mira por aquí:

https://abrahamexcel.blogspot.com/2018/03/exportando-archivos-excel-pdf.html 

Comentas

Abraham Valencia

Gracias elabore esta código pero no crea la carpeta, el pdf lo envia a Mis Documento y estoy trabajando en el escritorio

Sub imprimir()
Hoja12.Activate
Hoja12.Visible = True

Dim NombreFolder As String
Dim Ruta As String
Dim NombreArchivo As String
Dim Separador As String
Dim Destino As String
Ruta = Application.ThisWorkbook.path
Separador = Application.PathSeparator
NombreArchivo = [A15] & ", " & [A8] & ", " & CStr(Format(Date, "yyyymmdd")) _
& "_" & CStr(Format(Time, "hh-mm-ss"))

NombreFolder = "Retiros_" & CStr(Format(Date, "yyyy-mm"))
Destino = Ruta & Separador & NombreFolder
If Dir(Ruta, vbDirectory) = Empty Then
MkDir (Destino)
End If
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=NombreArchivo, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False

' ActiveWorkbook.Save
End Sub

si me pueden ayudar se lo agradeceria

[Hola

No creaba la carpeta porque comparabas el nombre a una ya existente (la del archivo); enviaba el pdf a "Mis Documentos" porque no le indicabas otra cosa. Mira ahora:

Sub imprimir()
Hoja12.Activate
Hoja12.Visible = True
Dim NombreFolder As String, Ruta As String, NombreArchivo As String
Dim Separador As String, Destino As String
Ruta = Application.ThisWorkbook.Path
Separador = Application.PathSeparator
NombreArchivo = [A15] & ", " & [A8] & ", " & CStr(Format(Date, "yyyymmdd")) _
    & "_" & CStr(Format(Time, "hh-mm-ss"))
NombreFolder = "Retiros_" & CStr(Format(Date, "yyyy-mm"))
Destino = Ruta & Separador & NombreFolder
If Dir(Destino, vbDirectory) = Empty Then
    MkDir (Destino)
End If
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Destino & Separador & NombreArchivo, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
' ActiveWorkbook.Save
End Sub

Comentas

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas