Fail Percuma VBA

Fail Percuma Excel VBA

FreeFile adalah fungsi dalam VBA yang hanya tersedia sebagai fungsi VBA bukan sebagai fungsi lembaran kerja. Fungsi VBA FreeFile mengembalikan nombor bilangan bulat yang unik ke fail yang dibuka dan mengekalkan nombor untuk nombor fail seterusnya yang tersedia.

Kita biasanya membuka fail dari komputer kita untuk menulis sesuatu atau hanya untuk membaca, sementara merujuk kepada fail tersebut kita mesti merujuk dengan nombor bulat yang unik. Fungsi VBA FreeFile memungkinkan kita menentukan nombor bilangan bulat yang unik yang akan diberikan untuk membuka fail untuk membaca, menulis, dan membuka fail menggunakan VBA.

Sekarang lihat sintaks pernyataan TERBUKA.

BUKA [Alamat Laluan Fail] Untuk [Mod Dibuka] Sebagai [Nombor Fail]

Alamat Laluan Fail: Kita perlu menyebutkan alamat fail di komputer kita yang ingin kita buka.

Mod untuk Dibuka: Semasa membuka fail, kita perlu mengetahui jenis model yang akan kita terapkan. Kita dapat menggunakan tiga mode di sini, "Mode Input", "Mode OutPut", dan "Mode Tambah".

Mod input untuk membaca fail sahaja.

Mod output untuk menghapus data yang ada dan memasukkan data baru.

Tambahkan mod untuk menambahkan data baru sambil mengekalkan data yang ada.

Nombor Fail: Dengan argumen ini, kita dapat merujuk pada fail yang kita buka. Di sinilah fungsi "FreeFile" memainkan peranan penting dan mengembalikan nombor bulat yang unik.

Bagaimana Menggunakan Fungsi FreeFile di Excel VBA?

Anda boleh memuat turun Templat VBA FreeFile Excel ini di sini - Templat VBA FreeFile Excel

Sekarang, lihat kod di bawah.

Kod:

 Sub FreeFile_Example1 () Jalur Dim sebagai String Dim FileNumber Sebagai Integer Path = "D: \ Artikel \ 2019 \ File 1.txt" FileNumber = FreeFile Open Path Untuk Output Sebagai FileNumber Path = "D: \ Artikel \ 2019 \ File 2.txt "FileNumber = Laluan Terbuka FreeFile Untuk Keluaran Sebagai Sub Akhir FileNumber 

Sekarang izinkan saya menyahkod kod di atas untuk anda fahami.

Pertama saya telah menyatakan dua pemboleh ubah.

 Dim Path Sebagai String, Dim FileNumber Sebagai Integer 

Kemudian saya telah menetapkan jalan fail dengan namanya.

Laluan = "D: \ Artikel \ 2019 \ Fail 1.txt"

Kemudian untuk satu lagi pemboleh ubah, saya telah menetapkan fungsi FREEFILE.

Nombor Fail = Fail Percuma

Kemudian saya telah menggunakan pernyataan Buka untuk membuka fail teks di laluan fail yang disebutkan di atas.

 Buka Laluan Untuk Keluaran Sebagai Nombor Fail

Ok, sekarang saya akan menjalankan kod baris demi baris dengan menekan kekunci F8 dan melihat nilai pemboleh ubah "FileNumber".

Ini menunjukkan nombor fail sebagai 1. Oleh itu, fungsi fail percuma secara automatik menyimpan nombor ini ke fail pembuka. Semasa menjalankan ini, fail lain tidak dibuka.

Sekarang saya akan terus menjalankan baris seterusnya kod VBA dan melihat apakah nombor failnya jika saya melompat ke baris seterusnya.

Sekarang ia mengatakan 2. Jadi fungsi FreeFile menyimpan bilangan bulat unik 2 ke fail pembukaan kedua.

Fungsi FreeFile Sentiasa Mengembalikan 1 jika kita Menutup Fail Excel

Satu perkara yang perlu kita perhatikan ialah fungsi "FreeFile" VBA selalu mengembalikan 1 jika kita menutup fail yang dibuka sebelum membuka fail excel kedua.

Contohnya, lihat kod di bawah.

Kod:

 Sub FreeFile_Example2 () Dim Path Sebagai String Dim FileNumber Sebagai Integer Path = "D: \ Artikel \ 2019 \ File 1.txt" FileNumber = FreeFile Open Path Untuk Output Sebagai FileNumber Tutup FileNumber Path = "D: \ Artikel \ 2019 \ File 2 .txt "FileNumber = Laluan Buka FreeFile Untuk Output Sebagai FileNumber Tutup FileNumber End Sub 

Sekarang saya akan sekali lagi melaksanakan kod baris demi baris dengan menekan kekunci F8.

Ia mengatakan 1 seperti biasa.

Sekarang saya akan maju ke tahap seterusnya.

Walaupun dalam percubaan kedua ia mengatakan 1.

Sebabnya adalah kerana kami telah menggunakan pernyataan Tutup fail FreeFile mengenali fail yang baru dibuka sebagai yang baru dan mengembalikan nombor bulat sebagai 1.