Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Imagen1

Determinar con VBA si un libro existe en una carpeta (directorio)

| 1 Comment

Funcionamiento

Esta función nos permite determinar la existencia de un documento dentro de nuestro equipo. En el siguiente ejemplo se utilizará para comprobar la existencia de la ruta del archivo que definimos. Útil cuando se   manipulan documentos que ya han sido creados con anterioridad y se quiere comprobar la existencia de alguno.

Para entender mejor el funcionamiento vamos a usar los ejemplos del siguiente documento:

FuncionDir

 

Ejemplo 1:

Definimos el nombre de la función

FileExists(FPath As String) As Boolean

Luego seguimos los siguientes pasos:

Paso 1: Declarar el tipo de variable. La variable “string” se asocia a una secuencia de caracteres que puede incluir letras, números, espacios y signos.

Dim FName As String

Paso 2: Usar la función Dir para obtener el nombre del documento

FName = Dir(FPath)

Paso 3: Aplicar una condición de verdadero o falso dependiendo si existe el documento

If FName <> “” Then FileExists = True _

Else: FileExists = False

 

Entonces debe quedar así:

Function FileExists(FPath As String) As Boolean

Dim FName As String
FName = Dir(FPath)
If FName <> “” Then FileExists = True _
Else: FileExists = False
End Function

Ahora para comprobar el trabajo realizado, insertamos la función que hemos creado:

Imagen2

Imagen3

 

Se obtiene como resultado:

Imagen9

(En caso de no poder visualizar los resultados se recomienda descargar el documento indicado en la parte inferior del post)

Es importante hacer algunas observaciones:

 

Caso1: El elemento Dota2.exe no existe dentro de la dirección indicada, por lo que la función da como resultado FALSO.

Caso2: Existe el documento y se encuentra dentro de la dirección indicada; sin embargo, no se ha especificado su extensión por lo que al aplicar la función se obtiene FALSO como resultado.

Caso3: Existe el documento y se encuentra dentro de la dirección indicada, además se indica su extensión “.xlsm” que hace referencia a un libro de excel habilitado para macros. Dado que la dirección y la extensión son correctos, entonces la función da como resultado VERDADERO.

 

Ejemplo 2:

Ahora podemos programar una macro que aplique la función anterior:

Sub MacroFileExist()
‘La función que habíamos definido
If FileExists(“C:\Users\usuario 1\Documents\Bryan\Estudios\Cursos\Macros\Tarea\T2\FuncionDir.xlsm”) = True Then
MsgBox “File exists.”
Else
MsgBox “File does not exist.”
End If
End Sub

 

Nótese que esa dirección corresponde al caso3, en el cual se obtenía VERDADERO como respuesta.

 

Ejecutamos la macro y observamos el resultado:

Imagen6

 

“File Exist” nos indica que el archivo si existe, correspondiente al resultado VERDADERO de la función.

FuncionDir

One Comment

  1. Muy buena orientacion

Deja un comentario

Required fields are marked *.


Excel Avanzado located at , Lima, Perú . Reviewed by usuarios rated: 4.7 / 5