VBA FreeFile - Как да използвам функцията FreeFile в Excel VBA?

Съдържание

Excel VBA FreeFile

FreeFile е функция във VBA, която се предлага само като функция на VBA, а не като функция на работен лист. Функцията VBA FreeFile връща уникалния цял номер във файл, който се отваря и запазва следващия наличен номер на файл.

Обикновено отваряме файлове от нашия компютър или за да напишем нещо, или само за четене, докато се позоваваме на тези файлове, трябва да се позоваваме с уникално цяло число. Функцията VBA FreeFile ни позволява да определим това уникално цяло число, което да присвоим на отварянето на файла за четене, запис и отваряне на файлове с помощта на VBA.

Сега разгледайте синтаксиса на оператора OPEN.

ОТВОРЕН (Адрес на пътя на файла) За (Режим за отваряне) Като (Номер на файл)

Адрес на пътя на файла: Трябва да споменем адреса на файла на нашия компютър, който се опитваме да отворим.

Режим за отваряне: Докато отваряме файла, трябва да знаем какъв модел ще прилагаме. Тук можем да използваме три начина: „Режим на въвеждане“, „Режим на изход“ и „Режим на добавяне“.

Режим на въвеждане за четене само на файла.

Изходен режим за изтриване на съществуващите данни и вмъкване на нови данни.

Режим Добавяне, за да добавите нови данни, като същевременно запазите съществуващите данни.

Номер на файла: С този аргумент можем да се позовем на файла, който отваряме - тук функцията „FreeFile“ играе жизненоважна роля и връща уникалното цяло число.

Как да използвам функцията FreeFile в Excel VBA?

Сега вижте кода по-долу.

Код:

Sub FreeFile_Example1 () Затъмняване на пътя като низ Dim DimNumber като цяло число Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Open Path за изход като FileNumber Path = "D: Articles 2019 File 2.txt "FileNumber = Отворен път на FreeFile за изход като край на SubName

Сега нека да декодирам горния код, за да го разберете.

Първо, декларирах две променливи.

Затъмнете пътя като низ, Затъмнете файла като цяло

След това съм назначил пътя на файла с неговото име.

Път = "D: Статии 2019 Файл 1.txt"

Тогава за още една променлива съм задал функцията FREEFILE.

FileNumber = FreeFile

След това използвах оператора Open, за да отворя текстовия файл във файла, споменат по-горе.

Отворете пътя за изход като FileNumber

Добре, сега ще стартирам ред по ред, като натисна клавиша F8 и ще видя стойността на променливата „FileNumber“.

Той показва номера на файла като 1. И така, функцията за безплатен файл автоматично запазва този номер към отварящия файл. Докато изпълнявате това, не се отварят други файлове.

Сега ще продължа да изпълнявам следващия ред на кода на VBA и ще видя какъв е номерът на файла, ако премина към следващия ред.

Сега се казва 2. Така че функцията FreeFile запазва уникалното цяло число 2 за втория отворен файл.

Функцията FreeFile Винаги връща 1, ако затворим файла на Excel.

Едно нещо, което трябва да разгледаме, е функцията VBA “FreeFile” винаги връща едно, ако затворим отворения файл, преди да отворим втория файл на Excel.

Например погледнете кода по-долу.

Код:

Sub FreeFile_Example2 () Затъмняване на пътя като низ Dim DimNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Open Path for Output As FileNumber Close FileNumber Path = "D: Articles 2019 File 2 .txt "FileNumber = FreeFile Отворен път за изход като FileNumber Затвори FileNumber Край Sub

Сега отново ще изпълня кодовия ред по ред, като натисна клавиша F8.

Пише 1, както обикновено.

Сега ще премина към следващото ниво.

Дори при втория опит за това се казва 1.

Причината за това е, тъй като използвахме оператора Close file, FreeFile разпознава новоотворения файл като нов и връща цялото число като 1.

Интересни статии...