Excel VBA: Comprobar si un archivo existe o no

  • Compartir Este
Hugh West

Uno de los usos más ventajosos de Excel VBA en nuestro día a día es que podemos comprobar si un archivo existe o no en nuestro equipo utilizándolo. En este artículo, te mostraré cómo puedes comprobar si un archivo existe o no en nuestro equipo utilizando Excel VBA .

Código VBA para comprobar si un archivo existe o no (Vista rápida)

 Sub Check_If_a_File_Exists() File_Name = "E:\ExcelWIKI\Book1.xlsm" File_Name = Dir(File_Name) If File_Name = "" Then MsgBox "El fichero no existe." Else MsgBox "El fichero existe." End If End Sub 

Descargar el cuaderno de prácticas

Descárgate este cuaderno de prácticas para ejercitarte mientras lees este artículo.

VBA Comprobar si existe un archivo.xlsm

Una Visión General del Código VBA para Comprobar si un Archivo Existe o No (Análisis Paso a Paso)

Así que, sin más dilación, vamos con nuestro debate principal de hoy. Desglosaremos las VBA paso a paso para aprender a comprobar si un fichero existe o no en nuestro ordenador.

⧪ Paso 1: Insertar la entrada necesaria

Al principio del código, tenemos que insertar la entrada necesaria en él. Sólo hay una entrada necesaria en este código, y es el nombre del archivo que estamos buscando. Inserte el nombre completo del archivo (Junto con el directorio asociado).

 Nombre_archivo = "C:\ExcelWIKI\Book1.xlsm" 

⧪ Paso 2: Extracción del nombre de archivo con la función Dir de VBA.

A continuación, utilizaremos un pequeño truco. Utilizaremos la función VBA Función Dir para extraer el nombre del archivo. Si no existe tal archivo, el comando Función Dir devolverá una cadena nula.

 Nombre_archivo = Dir(Nombre_archivo) 

⧪ Paso 3: Comprobación de la existencia del archivo mediante un bloque if

Este es el paso más importante. Hemos dicho antes que si no existe ningún archivo con el nombre dado, la función Dir devuelve una cadena nula. Utilizaremos esta propiedad dentro de una función If-block para comprobar si el archivo existe o no.

 If File_Name = "" Then MsgBox "El fichero no existe." Else MsgBox "El fichero existe." End If 

Así que el completo VBA código será:

Código VBA:

 Sub Check_If_a_File_Exists() File_Name = "E:\ExcelWIKI\Book1.xlsm" File_Name = Dir(File_Name) If File_Name = "" Then MsgBox "El fichero no existe." Else MsgBox "El fichero existe." End If End Sub 

Salida:

Ejecute el código. En mi ordenador, aparecerá un cuadro de mensaje, "El archivo existe" porque realmente existe en mi máquina.

En su máquina, la salida puede ser diferente dependiendo de si el archivo existe o no.

Más información: Excel VBA: Comprobar si existe una hoja (2 métodos sencillos)

Cómo desarrollar una macro para comprobar si un rango de archivos existe o no utilizando Excel VBA

Aquí tenemos un conjunto de datos en una hoja de cálculo de Excel que contiene el nombre de algunos archivos junto con los directorios en el rango B4:B8 .

Nuestro objetivo es desarrollar una macro que escriba Existe / No existe al lado de cada uno de ellos después de comprobar si existen o no en el ordenador.

⧪ Paso 1: Abrir la ventana de VBA

Pulse ALT + F11 del teclado para abrir el Visual Basic ventana.

⧪ Paso 2: Insertar un nuevo módulo

Ir a Insertar> Módulo en la barra de herramientas. Haga clic en Módulo Un nuevo módulo llamado Módulo 1 (o cualquier otra cosa dependiendo de tu historial) se abrirá.

⧪ Paso 3: Poner el código VBA.

Este es el paso más importante. Inserte lo siguiente VBA en el módulo.

Código VBA:

 Sub Check_If_a_Range_of_File_Exist() Set Rng = ActiveSheet.Range("B4:B8") For i = 1 To Rng.Rows.Count File_Name = Dir(Rng.Cells(i, 1)) If File_Name = "" Then Rng.Cells(i, 2) = "Doesn't Exist" Else Rng.Cells(i, 2) = "Exists" End If Next i End Sub 

⧪ Paso 5: Ejecutar el código

Haga clic en el botón Ejecutar Sub / UserForm de la barra de herramientas superior.

El código se ejecutará. Y obtendrás "Existe" para los archivos existentes, y "No existe" para los archivos que no existen.

Más información: Cómo Comprobar si un Valor Existe en un Rango en Excel (8 Maneras)

Conclusión

Por lo tanto, este es el proceso para desarrollar un Macro para enviar un correo electrónico desde Excel con un archivo adjunto. ¿Tiene alguna pregunta? No dude en preguntarnos. Y no olvide visitar nuestro sitio web ExcelWIKI para más entradas y actualizaciones.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.