Macro para ruta no existente

Buenos días, necesito crear una macro que cree una ruta no existente, que verifique si existe o cree la ruta si no existe para guardar la hoja activa como pdf.

1 Respuesta

Respuesta
1

Te mando mi solución en este ejemplo:

En esta macro verificamos si existe la carpeta C:\EJEMPLO\

Si no existe la creamos y si ya existe nos comunica que ya existe.

Sub ejemplo()
'por luismondelo
Set fso = CreateObject("scripting.filesystemobject")
If Not fso.folderexists("c:\ejemplo") Then
MkDir "c:\ejemplo\"
MsgBox "se ha creado la carpeta c:\ejemplo\"
Else
MsgBox "la carpeta ya existe"
End If
End Sub

no olvides finalizar la consulta

gracias por tu respuesta, pero aun no puedo guardar la hoja activa como .pdf en la carpeta que cree con esta macro. gracias

bueno, aquí esta la macro que estoy empleando para esto, por favor dime que tengo que corregir para que la macro cree la carpeta, verifique si existe y guarde como pdf la hoja de excel activa. gracias.

Sub ANTROPOREG()
Set fso = CreateObject("scripting.filesystemobject")
If Not fso.folderexists("c:\Antropometric") Then
MkDir "c:\Antropometric\"
MsgBox "se ha creado la carpeta Antropometric exitosamente"
Else
MsgBox "la carpeta Antropometric ya existe"
End If
nombre = Sheets("antropometric").Range("b3") & "--" & Sheets("antropometric").Range("i5")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "/" & nombre, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
MsgBox "El archivo se guardo exitosamente", vbInformation
End Sub

"b3" , "i5". son las celdas que contienen el nombre que quiero que lleve el pdf a crear.

Te paso la macro que debe usar. En mi ejemplo quiero guardar la hoja activa como pdf dentro de la carpeta C:\EJEMPLO\

Si la carpeta no existe la creará guardando el pdf y si ya existe solo guardará el pdf.

Sub prueba()
'por luismondelo
Set fso = CreateObject("scripting.filesystemobject")
If Not fso.folderexists("c:\ejemplo") Then
MkDir "c:\ejemplo\"
MsgBox "se ha creado la carpeta c:\ejemplo\   para guardar el archivo"
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\ejemplo\archivo.pdf"
Else
MsgBox "la carpeta C:\EJEMPLO\ ya existe se guardará el archivo"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\ejemplo\archivo.pdf"
End If
End Sub

no olvides finalizar la consulta

te agradezco nuevamente, funciona correctamente pero tal vez no leíste lo ultimo que escribí al final debajo de la macro: "b3" , "i5". son las celdas que contienen el nombre que quiero que lleve el pdf a crear. gracias Luismondelo.

Ok, esta sería la macro final:

Ya sabes que en mi ejemplo estoy usando la carpeta C:\EJEMPLO\

Sub prueba()
'por luismondelo
nombre = range("b3").value & "--" & range("i5").value
Set fso = CreateObject("scripting.filesystemobject")
If Not fso.folderexists("c:\ejemplo") Then
MkDir "c:\ejemplo\"
MsgBox "se ha creado la carpeta c:\ejemplo\ para guardar el archivo"
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\ejemplo\" & nombre
Else
MsgBox "la carpeta C:\EJEMPLO\ ya existe se guardará el archivo"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\ejemplo\" & nombre
End If
End Sub

Gracias, esa macro es sencillamente excelente. pero olvide decirte algo, la celda "I5" contiene la fecha actual y al momento de ejecutar la macro solo tomo el nombre de la celda "B3", entonces que debo cambiar en la macro? gracias nuevamente.

Esta es tu nueva macro:

Sub prueba()
'por luismondelo
nombre = range("b3").value
Set fso = CreateObject("scripting.filesystemobject")
If Not fso.folderexists("c:\ejemplo") Then
MkDir "c:\ejemplo\"
MsgBox "se ha creado la carpeta c:\ejemplo\ para guardar el archivo"
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\ejemplo\" & nombre
Else
MsgBox "la carpeta C:\EJEMPLO\ ya existe se guardará el archivo"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\ejemplo\" & nombre
End If
End Sub

no olvides finalizar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas