FreeFile de VBA - ¿Cómo usar la función FreeFile en Excel VBA?

Tabla de contenido

Excel VBA FreeFile

FreeFile es una función en VBA que está disponible solo como una función de VBA, no como una función de hoja de trabajo. La función VBA FreeFile devuelve el número entero único al archivo, que se abre y conserva el siguiente número de archivo disponible.

Por lo general, abrimos archivos desde nuestra computadora para escribir algo o para solo lectura, mientras que nos referimos a esos archivos, debemos referirnos con un número entero único. La función VBA FreeFile nos permite determinar ese número entero único para asignar al abrir el archivo para leer, escribir y abrir archivos usando VBA.

Ahora eche un vistazo a la sintaxis de la instrucción OPEN.

ABRIR (Dirección de ruta de archivo) Para (Modo para abrir) Como (Número de archivo)

Dirección de la ruta del archivo: necesitamos mencionar la dirección del archivo en nuestra computadora que estamos intentando abrir.

Modo para abrir: Al abrir el archivo, necesitamos saber qué tipo de modelo vamos a aplicar. Podemos usar tres formas aquí, "Modo de entrada", "Modo de salida" y "Modo de adición".

Modo de entrada para leer solo el archivo.

Modo de salida para borrar los datos existentes e insertar nuevos datos.

Modo de agregar para agregar nuevos datos mientras retiene los datos existentes.

Número de archivo: con este argumento, podemos referirnos al archivo que estamos abriendo, aquí donde la función "FreeFile" juega un papel vital y devuelve el número entero único.

¿Cómo usar la función FreeFile en Excel VBA?

Ahora, mire el siguiente código.

Código:

Sub FreeFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Abrir ruta para salida como FileNumber Path = "D: Articles 2019 File 2.txt "FileNumber = FreeFile Abrir ruta para salida como FileNumber End Sub

Ahora déjame decodificar el código anterior para que lo entiendas.

Primero, he declarado dos variables.

Atenuar ruta como cadena, atenuar FileNumber como entero

Luego le he asignado la ruta del archivo con su nombre.

Ruta = "D: Articles 2019 Archivo 1.txt"

Luego, para una variable más, he asignado la función FREEFILE.

FileNumber = FreeFile

Luego utilicé la instrucción Open para abrir el archivo de texto en la ruta del archivo mencionado anteriormente.

Abrir ruta para salida como número de archivo

Bien, ahora ejecutaré código línea por línea presionando la tecla F8 y veré el valor de la variable "FileNumber".

Muestra el número de archivo como 1. Por lo tanto, la función de archivo gratuito reserva automáticamente este número para el archivo de apertura. Mientras se ejecuta esto, no se abren otros archivos.

Ahora seguiré ejecutando la siguiente línea de código VBA y veré cuál es el número de archivo si salto a la siguiente línea.

Ahora dice 2. Entonces, la función FreeFile reserva el número entero único 2 para el segundo archivo de apertura.

La función FreeFile siempre devuelve 1 si cerramos el archivo de Excel.

Una cosa que debemos tener en cuenta es que la función "FreeFile" de VBA siempre devuelve uno si cerramos el archivo abierto antes de abrir el segundo archivo de Excel.

Por ejemplo, mire el siguiente código.

Código:

Sub FreeFile_Example2 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Abrir ruta para salida como FileNumber Cerrar FileNumber Path = "D: Articles 2019 File 2 .txt "FileNumber = FreeFile Abrir ruta para salida como FileNumber Cerrar FileNumber End Sub

Ahora volveré a ejecutar el código línea por línea presionando la tecla F8.

Dice 1 como de costumbre.

Ahora pasaré al siguiente nivel.

Incluso en el segundo intento dice 1.

La razón de esto es que, dado que usamos la instrucción Cerrar archivo, FreeFile reconoce el archivo recién abierto como el nuevo y devuelve el número entero como 1.

Articulos interesantes...