VBA FreeFile - Excel VBA'da FreeFile Fonksiyonu Nasıl Kullanılır?

İçindekiler

Excel VBA FreeFile

FreeFile, VBA'da bir çalışma sayfası işlevi olarak değil, yalnızca bir VBA işlevi olarak kullanılabilen bir işlevdir. VBA FreeFile işlevi, açılan ve bir sonraki kullanılabilir dosya numarasını koruyan benzersiz tamsayı numarasını dosyaya döndürür.

Genellikle bir şey yazmak veya salt okunur olması için bilgisayarımızdaki dosyaları açarız, bu dosyalara atıfta bulunurken benzersiz bir tam sayı ile başvurmamız gerekir. VBA FreeFile işlevi, VBA kullanarak dosyaları okumak, yazmak ve açmak için dosyanın açılmasına atanacak benzersiz tamsayı sayısını belirlememizi sağlar.

Şimdi OPEN ifadesinin sözdizimine bir göz atın.

OPEN (Dosya Yolu Adresi) (Açılacak Mod) İçin (Dosya Numarası) Olarak

Dosya Yolu Adresi: Bilgisayarımızda açmaya çalıştığımız dosya adresini belirtmemiz gerekiyor.

Açılacak Mod: Dosyayı açarken ne tür bir model uygulayacağımızı bilmemiz gerekiyor. Burada üç yol kullanabiliriz, "Giriş Modu", "Çıkış Modu" ve "Ekleme Modu".

Yalnızca dosyayı okumak için giriş modu.

Mevcut verileri silmek ve yeni verileri eklemek için çıkış modu.

Mevcut verileri korurken yeni veri eklemek için mod ekle.

Dosya Numarası: Bu argümanla, açtığımız dosyaya başvurabiliriz - burada "FreeFile" işlevi hayati bir rol oynar ve benzersiz tamsayı sayısını döndürür.

Excel VBA'da FreeFile Fonksiyonu Nasıl Kullanılır?

Şimdi aşağıdaki koda bakın.

Kod:

Sub FreeFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = Çıktı için FreeFile Açık Yolu DosyaNumarası Yolu = "D: Makaleler 2019 Dosya 2.txt "FileNumber = Dosya Numarası Son Alt Olarak Çıktı İçin Serbest Dosya Açık Yolu

Şimdi anlamanız için yukarıdaki kodu çözmeme izin verin.

İlk olarak iki değişken tanımladım.

Yolu Dize Olarak Dim, Dosya Sayısını Tam Sayı Olarak Dim

Ardından dosya yolunu adıyla belirledim.

Yol = "D: Makaleler 2019 Dosya 1.txt"

Sonra bir değişken daha için FREEFILE işlevini atadım.

FileNumber = FreeFile

Daha sonra yukarıda bahsedilen dosyadaki metin dosyasını açmak için Open deyimini kullandım.

Dosya Numarası Olarak Çıktı İçin Yolu Aç

Tamam, şimdi F8 tuşuna basarak satır satır çalıştıracağım ve "DosyaNumarası" değişkeninin değerini göreceğim.

Dosya numarasını 1 olarak gösteriyor. Dolayısıyla, ücretsiz dosya işlevi bu numarayı otomatik olarak açılan dosyaya saklar. Bunu çalıştırırken, başka hiçbir dosya açılmaz.

Şimdi bir sonraki VBA kodu satırını çalıştırmaya devam edeceğim ve bir sonraki satıra atlarsam dosya numarasının ne olduğunu göreceğim.

Şimdi 2 diyor. Yani FreeFile işlevi, benzersiz 2 tamsayısını ikinci açılış dosyasına ayırır.

FreeFile İşlevi Excel Dosyasını Kapatırsak Her Zaman 1 döndürür.

Bakmamız gereken bir şey, ikinci excel dosyasını açmadan önce açılan dosyayı kapatırsak VBA "FreeFile" işlevi her zaman bir tane döndürür.

Örneğin, aşağıdaki koda bakın.

Kod:

Sub FreeFile_Example2 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" DosyaNumarası = Çıktı için DosyaNumarası Olarak Serbest Dosya Açık Yolu DosyaNumarası Yolu Kapat = "D: Makaleler 2019 Dosya 2 .txt "FileNumber = Çıktı için Dosya Numarası Olarak Serbest Dosya Açık Yolu Dosya Numarası Sonu Alt

Şimdi F8 tuşuna basarak kodu satır satır tekrar çalıştıracağım.

Her zamanki gibi 1 yazıyor.

Şimdi bir sonraki seviyeye geçeceğim.

İkinci denemede bile 1 diyor.

Bunun nedeni, Close file deyimini kullandığımız için, FreeFile yeni açılan dosyayı yeni dosya olarak tanır ve tamsayı sayısını 1 olarak döndürür.

Ilginç makaleler...