Una macro de Excel para determinar si existe un libro de trabajo
Esta macro de Excel le permite pasar una ruta de archivo para evaluar si el archivo está allí. Por ejemplo, usted puede tener un proceso que manipula un archivo en algún lugar de su PC. Por ejemplo, puede que tenga que abrir un libro existente para agregar datos a él sobre una base diaria. En este caso, puede que tenga que probar para ver si el archivo que necesita para manipular existe.
Cómo funciona el macro
La primera cosa a notar acerca de esta macro es que es una función, no un procedimiento Sub. Hacer esta macro función permite pasar cualquier ruta del archivo a la misma.
En esta macro, se utiliza la función Dir, que devuelve una cadena que representa el nombre del archivo que coincida con lo que pasa a ella. Esta función se puede utilizar de muchas maneras, pero aquí, que lo utilizan para comprobar si la ruta del archivo se pasa a ella existe:
FileExists función (fpath As String) As Boolean'Step 1: Declare su variablesDim FName Como String'Step 2: Utilice la función Dir para obtener el filenameFName = Dir (fpath) 'Paso 3: Si el archivo existe, regresan TrueType demás FalseIf FName lt;> "" Entonces FileExists = True _Else: FileExists = FalseEnd Función
Paso 1 declara una variable String que contiene el nombre de archivo que regresa de la función Dir. FName es el nombre de la variable String.
En el paso 2, se intenta establecer la variable FName. Esto se hace pasar la variable fpath a la función Dir. Se pasa Esta variable fpath a través de las declaraciones de función (ver la primera línea del código). Esta estructura le impide tener que codificar una ruta de archivo, que pasa como una variable en su lugar.
Si la variable FName no se puede establecer, el camino que ha pasado no existe. Por lo tanto, la variable FName está vacía. Paso 3 simplemente se traduce ese resultado a una expresión Verdadero o Falso.
Una vez más, esta función puede utilizarse para evaluar cualquier ruta del archivo se pasa a ella. Esta es la belleza de escribir la macro como una función.
La macro siguiente muestra cómo utilizar esta función:
Sub Macro1 () Si FileExists ("C: Temp MyNewBook.xlsx") = ". File exists" True ThenMsgBox ElseMsgBox ". El archivo no existe" End Sub IfEnd
Cómo utilizar la macro
Para implementar esta macro, puede copiar y pegar las dos piezas de código en un módulo estándar:
Activar el Editor de Visual Basic presionando Alt + F11.
derecha, haga clic en el nombre del proyecto / libro en la ventana del proyecto.
Seleccione Insertar-Module.
Escriba o pegue el código en el módulo recién creado.