Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
MS Excel 2003: compruebe si el archivo existe en función de los valores de 2 columnas
Este tutorial de Excel explica cómo escribir una macro para verificar la existencia de un archivo basado en los valores de dos columnas en Excel 2003 y versiones anteriores (con capturas de pantalla e instrucciones paso a paso).
P: En Microsoft Excel 2003/XP/2000/97, necesito verificar si ciertos archivos pdf están en un directorio. El formato de nombre de archivo del archivo pdf que se va a verificar es:
Número de ingrediente + {espacio} + NUT.pdf
Número de ingrediente + {espacio} + SPC.pdf
Por ejemplo,
101 Nueces.pdf
101 SPC.pdf
En la columna A de la hoja de cálculo, tengo un número de ingrediente que verifico para cada nombre de archivo. En la columna B, quiero mostrar “Sí” si existe el nombre de archivo NUT para el número de ingrediente correspondiente; de lo contrario, debería mostrar “No”. En la columna C, me gustaría mostrar “Sí” si existe el nombre de archivo SPC para el número de ingrediente correspondiente; de lo contrario, debería mostrar “No”.
R: Veamos un ejemplo.
Descargue la hoja de cálculo de Excel (que se muestra a continuación)
En nuestra hoja de cálculo, tenemos nuestros números de ingredientes enumerados en la columna A, y queremos saber si existe el archivo para el nombre de archivo NUT y el nombre de archivo SPC.Todos los archivos se ubicarán en C:Ingredientes directorio y tendrá un .pdf extensión de archivo.
Entonces, con el ingrediente número 101, estamos buscando los siguientes documentos en la columna B:
C:Ingredients101 NUT.pdf
Queremos encontrar los siguientes archivos en la columna C:
C:Ingredients101 SPC.pdf
Puede ejecutar macros seleccionando Macros > Macros en el menú Herramientas.
Luego seleccione la macro llamada CheckIfFileExists y haga clic en el botón Ejecutar.
Después de ejecutar la macro, los valores de las columnas B y C deberían indicar si el archivo existe.
Puede presionar Alt+F11 para ver el código VBA.
codigo macro
El código de la macro se ve así:
Sub CheckIfFileExists() Dim LRow As Integer Dim LPath As String Dim LExtension As String Dim LContinue As Boolean 'Initialize variables LContinue = True LRow = 2 LPath = "C:Ingredients" LExtension = ".pdf" 'Loop through all column A values until a blank cell is found While LContinue 'Found a blank cell, do not continue If Len(Range("A" & CStr(LRow)).Value) = 0 Then LContinue = False 'Check if file exists for each ingredient Else ' ---- NUT file ---- 'Place "No" in column B if the file does NOT exist for NUT file (ie: 101 NUT.pdf file) If Len(Dir(LPath & Range("A" & CStr(LRow)).Value & " NUT" & LExtension)) = 0 Then Range("B" & CStr(LRow)).Value = "No" 'Place "Yes" in column B if the file does exist for NUT file (ie: 101 NUT.pdf file) Else Range("B" & CStr(LRow)).Value = "Yes" End If ' ---- SPC file ---- 'Place "No" in column C if the file does NOT exist for SPC file (ie: 101 SPC.pdf file) If Len(Dir(LPath & Range("A" & CStr(LRow)).Value & " SPC" & LExtension)) = 0 Then Range("C" & CStr(LRow)).Value = "No" 'Place "Yes" in column B if the file does exist for SPC file (ie: 101 SPC.pdf file) Else Range("C" & CStr(LRow)).Value = "Yes" End If End If LRow = LRow + 1 Wend End Sub