Saber si existe una carpeta (macro de excel)

Quisiera saber como hacer una macro que me verifique si existe una carpeta para guardar un libro en una ubicación, si ya existe la carpeta que me reemplace la información y que si no existe me cree dicha carpeta para después guardar el libro.

1 respuesta

Respuesta
1
Buscando en la web encontré este código, lo probé y funciona:
'========================================
Private Const theDrive As String = "C"
Private Const theDriveFormat As String = ":\"
Private Const theDir As String = "Temp\prueba"
Private Const theDirFormat As String = "\"
Public targetpath As String
Sub CreateFolder()
If testDir = True Then
'Aquí va el código para guardar el archivo
Exit Sub
Else
MkDir targetpath
'Aquí va el código para guardar el archivo
End If
TheEnd:
Exit Sub
End Sub
Function testDir() As Boolean
testDir = False
targetpath = theDrive
targetpath = targetpath & theDriveFormat
targetpath = targetpath & theDir
targetpath = targetpath & theDirFormat
If Dir(targetpath, vbDirectory) = "" Then testDir = False _
Else testDir = True
TheEnd:
Exit Function
End Function
Lo encontrè en: http://www.ozgrid.com/forum/showthread.php?t=32259
Muchas gracias por tu respuesta! Pero no entiendo bien lo que hace, ¿me podrías hacer el favor de comentarme el código? :)
Al inicio del código se definen unas Constantes (así estaba el código que encontré), esto igual puedes reemplazarlo por una sola con la ruta completa (me parece). La idea allí es indicar cual es el disco, la carpeta a comprobar, etc.
Luego, sigue el código de la macro "CreateFolder", en este código es dónde se creará y guardará el archivo (en caso de no existir) o simplemente se guardará el archivo cuando este existe. Dentro de este código se usa una función llamada "testDir" donde se devuelve un valor boleano True cuando la carpeta existe y False cuando no existe.
Te sugiero que copies y pegues el código y lo pruebes en una hoja de cálculo. Puedes ejecutarlo paso a paso con F8 para ver cómo funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas