Comprobar archivo existe con Excel VBA

VBA Check File Exists ayuda a verificar si el archivo existe en la ubicación usando Excel VBA. Después de mencionar la ruta del archivo en la computadora, ¿qué sucede si alguien elimina el archivo o cambia la ruta de la carpeta del archivo? Obviamente, nuestro código arrojará un error en tales casos. Para resolver este problema, podemos hacer una cosa antes de abrir el archivo, podemos verificar si el archivo mencionado existe o no.

En este artículo, le mostraremos cómo verificar si el archivo mencionado en particular existe o no.

¿Cómo verificar si el archivo existe o no?

  • ¿Cómo Excel VBA sabe si el archivo existe o no?
  • Por defecto, no puede !!!
  • Entonces, ¿cómo?
  • Necesitamos usar la función llamada "Dir" para verificar si el archivo existe o no.

¿Qué hace la función DIR?

La función VBA DIR devuelve el nombre del archivo con su extensión en la ruta de la carpeta especificada. Cuando la carpeta no tiene ningún archivo, devuelve la cadena vacía.

Entonces, al usar esta función, podemos probar si el archivo existe o no. Incluso sin la función DIR, podemos probar si el archivo existe o no. Veremos algunos de los ejemplos a continuación.

¿Cómo utilizar el archivo de verificación VBA existe en Excel?

Aprenderemos cómo usar una función VBA Check File Exists con algunos ejemplos en Excel.

Puede descargar esta plantilla de Excel VBA Check File Existing aquí - Plantilla de Excel VBA Check File Existing

Ejemplo # 1 - El archivo de verificación VBA existe

Ok, escribamos un código para probar si el archivo existe o no. Siga los pasos a continuación para escribir el código por su cuenta.

Paso 1: para esto, vaya a la ventana de VBA y, en el menú Insertar, seleccione Módulo como se muestra a continuación.

Paso 2: Inicie el subprocedimiento.

Código:

 Sub File_Example () End Sub 

Paso 3: Defina la variable como Cadena.

Código:

 Sub File_Example () Dim FilePath como String End Sub 

Paso 4: Ahora quiero probar el archivo llamado "Capítulo-11". InputBoxes.xlsm "en mi E-Drive". Asignaré mi ruta de archivo a esta variable.

Código:

 Sub File_Example () Dim FilePath As String FilePath = "D: \ Test File.xlsx" End Sub 

Paso 5: Ahora defina una variable más para aplicar la función DIR.

Código:

 Sub File_Example () Dim FilePath como cadena Dim FileExists As String FilePath = "D: \ Test File.xlsx" End Sub 

Paso 6: Ahora para la segunda variable, abre la función DIR.

Código:

 Sub File_Example () Dim FilePath como String Dim FileExists As String FilePath = "D: \ Test File.xlsx" FileExists = Dir (End Sub 

Paso 7: la función DIR requiere la ruta del archivo. Como ya hemos asignado la ruta del archivo a la variable "FilePath", simplemente podemos pasar esta variable a la función DIR.

Código:

 Sub File_Example () Dim FilePath como cadena Dim FileExists As String FilePath = "D: \ Test File.xlsx" FileExists = Dir (FilePath) End Sub 

Paso 8: Ahora la función DIR devuelve solo el Nombre del archivo como “Capítulo-11. InputBoxes ”de la ruta del archivo mencionado. Así que vamos a mostrar el resultado en un cuadro de mensaje.

Código:

 Sub File_Example () Dim FilePath como cadena Dim FileExists como cadena FilePath = "D: \ Test File.xlsx" FileExists = Dir (FilePath) MsgBox FileExits End Sub 

Paso 9: Ahora ejecuta la macro para ver el resultado.

Dado que existe un archivo en la ruta mencionada, nuestra función DIR filtró el nombre del archivo de la ruta enorme.

Paso 10: Ahora cambiaré el nombre del archivo a una cosa diferente que no está en la ruta mencionada.

Código:

 Sub File_Example () Dim FilePath como cadena Dim FileExists como cadena FilePath = "D: \ File.xlsx" FileExists = Dir (FilePath) MsgBox (FileExists) End Sub 

Paso 11: si ejecuto el código ahora, devolverá una cadena vacía en el cuadro de mensaje.

La función DIR es más adecuada para usar con la instrucción IF en VBA. Arriba, podríamos ver solo el nombre del archivo con su extensión si existe o de lo contrario solo podríamos ver la cadena vacía.

Ejemplo # 2 - DIR con condición IF

Paso 1: Pero usando la instrucción IF con la función DIR podemos alterar nuestros resultados. Para ver un ejemplo, mira el siguiente código.

Código:

 Sub File_Example1 () Dim FilePath As String Dim FileExists As String FilePath = "C: \ Users \ cba_28 \ Desktop \ Alex \ Final Input.xlsm" FileExists = Dir (FilePath) Si FileExists = "" Entonces MsgBox "El archivo no existe en el ruta mencionada "Else MsgBox" El archivo existe en la ruta mencionada "End If End Sub 

Paso 2: Aquí la condición IF verifica si el valor de la variable "FileExists" es nada ("") o no. Si el valor de la variable no es nada (""), devolverá el resultado como "El archivo no existe en la ruta mencionada" o, de lo contrario, devolverá el resultado como "El archivo existe en la ruta mencionada"

A continuación se muestra el ejemplo de una captura de pantalla de la misma.

Al usar la función DIR, podemos verificar si el archivo existe o no.

Artículos recomendados

Esta es una guía para VBA Check File Exists. Aquí discutimos cómo usar Excel VBA Check File Exists Function junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Función de copiar y pegar en VBA
  2. Función de subcadena de Excel
  3. VBA Subíndice fuera de rango
  4. Fórmula ISNUMBER de Excel

Categoría: