Bu öğretici, bir metin dosyasının VBA'da bir dizeye nasıl okunacağını gösterecektir.
Metin dosyasını satır satır veya tüm dosya olarak okuyabiliriz.
Tüm Metin Dosyasını Bir Dizeye Okuyun
Bir metin dosyasındaki metin, genellikle sınırlayıcılarla ayrılmış birkaç satırdan oluşur. Bunlar virgül (“,”), boşluklu virgül (“, “), noktalı virgül (“;”), boşluklu noktalı virgül (“; “), boşluk (“ “), sekme (vbTab) olabilir. ) veya nadir durumlarda tilde (~) gibi başka herhangi bir karakter. Satırlar normalde bir satır sonu (vbCRLF) ile ayrılır.
VBA'da bir metin dosyasının tamamını okumanın en kolay yolu, metin dosyasının tüm içeriğini bir dize değişkenine yerleştirecek olan aşağıdaki kodu çalıştırmaktır. Bu prosedür, VBA Open deyimini ve VBA FreeFile işlevini kullanır.
12345678910 | Sub ReadFile()iTxtFile'ı Tamsayı Olarak DimDize Olarak Dim strFileDim strFileText As StringstrFile = "C:\Test\TestFile.txt"iTxtFile = ÜcretsizDosyaGirdi İçin strFile'ı FreeFile Olarak AçınstrFileText = Giriş(LOF(iTxtFile), iTxtFile)iTxtFile'ı kapatınAlt Bitiş |
FileSystemObject kullanarak VBA'da bir metin dosyasını da okuyabiliriz. Aşağıdaki kodda File System Object ile geç bağlama kullandık.
1234567891011 | Sub ReadTextFile()Dim strText As StringNesne olarak FSO'yu karartNesne Olarak İSO'yu KarartFSO'yu ayarla = CreateObject("Scripting.FileSystemObject")TSO = FSO.OpenTextFile("C:\Test\TestFile.txt") olarak ayarlayınstrText = TSO.ReadAllTSO.KapatTSO'yu ayarla = Hiçbir şeyFSO'yu Ayarla = Hiçbir ŞeyAlt Bitiş |
Ayrıca kodda erken bağlama kullanabilir ve Excel projemizde Dosya Sistemi Nesnesine bir referans oluşturarak Dosya Sistemi Nesnesini bildirebiliriz.
1234567891011 | Sub ReadTextFile()Dim strText As StringFSO'yu Yeni FileSystemObject olarak karartNesne Olarak İSO'yu KarartFSO'yu ayarla = CreateObject("Scripting.FileSystemObject")TSO = FSO.OpenTextFile("C:\Test\TestFile.txt") olarak ayarlayınstrText = TSO.ReadAllTSO.KapatTSO'yu ayarla = Hiçbir şeyFSO'yu Ayarla = Hiçbir ŞeyAlt Bitiş |