VBA - Metin Dosyasına Yaz

Bu eğitim, VBA kullanarak metin dosyalarına nasıl yazılacağını gösterecektir.

Bir Metin Dosyasına Yaz

Aşağıdaki kodlar, DosyaSistemNesnesi. Kullanmak için VB komut dosyası çalışma zamanı kitaplığına bir başvuru ayarlamanız gerekir.

Yeni Metin Dosyasına Yaz

İle CreateTextFile yöntemi DosyaSistemNesnesi bir metin dosyasına içerik oluşturabilir ve ardından ekleyebilirsiniz:

123456789 Alt FSOCreateAndWriteToTextFile()FSO'yu Yeni FileSystemObject Olarak DimFSO'yu ayarla = CreateObject("Scripting.FileSystemObject")FileToCreate = FSO.CreateTextFile("C:\Test\TestFile.txt") olarak ayarlayınFileToCreate.Write "test satırı"FileToCreate.CloseAlt Bitiş

Lütfen içeriğin tırnak içine alınmayacağını unutmayın.

Mevcut Metin Dosyasına Yaz

Mevcut bir metin dosyasına yazmak için OpenTextFile yöntemi DosyaSistemNesnesi ile birlikte Yazmak için modu.

123456789 Alt FSOWriteToTextFile()FSO'yu Yeni FileSystemObject Olarak DimFSO'yu ayarla = CreateObject("Scripting.FileSystemObject")FileToWrite = FSO.OpenTextFile("C:\Test\TestFile.txt", ForWriting) olarak ayarlayınFileToWrite.Write "test satırı"FileToWrite.CloseAlt Bitiş

Lütfen mevcut bir metin dosyasına yazmak için FileSystemObject'e ihtiyacınız olmadığını unutmayın. Yukarıdaki örnek, aşağıdaki kodda başka bir şekilde gösterilmiştir (Veri Aralığından Metin Dosyasına Kadar bölümündeki diğer örneğe bakın):

123456789 Alt WriteToTextFile()Dosya Adını Dize Olarak KarartDosyaAdı = "C:\Test\TestFile.txt"Çıktı İçin Dosya Adını #1 Olarak Açın#1, "test satırı" yazdır#1'i kapatAlt Bitiş

Lütfen Yazdır yerine Yaz komutunu kullanmanın, eklenen içeriğin tırnak içine alınmasına neden olacağını unutmayın. Makronuzda her iki komutun da bulunması

12 #1, "test satırı #1" yazın#1, "test satırı #2" yazdır

bunun gibi bir metin dosyasıyla sonuçlanacaktır:

VBA Programlama | Code Generator sizin için çalışıyor!

Metin Dosyasına Ekle

Yukarıdaki koddaki modu ForAppending olarak değiştirerek, metin dosyasının sonuna bir satır eklenebilir:

1 FileToWrite = FSO.OpenTextFile("C:\Test\TestFile.txt", ForAppending) olarak ayarlayın

WriteLine Yöntemi

Bu yöntem, giriş dizesini mevcut içeriğe ayrı bir satır olarak ekler.

Yazma Yöntemi

Giriş dizesi, mevcut içerikle aynı satıra eklenir.

VBA Kodu Örnekleri Aramaktan Bıktınız mı? AutoMacro'yu deneyin!

BoşSatırlar Yaz

Bu yöntem, metin dosyasına yazılacak boş satır sayısını parametre olarak alır.

Aşağıdaki kod, farklı yazma yöntemleri arasındaki farkı gösterir:

12345678910111213 Alt Yazma Yöntemleri()FSO'yu Yeni FileSystemObject Olarak DimFSO'yu ayarla = CreateObject("Scripting.FileSystemObject")FileToWrite = FSO.OpenTextFile("C:\Test\TestFile.txt", ForAppending) olarak ayarlayınFileToWrite.Write "test satırı #1"FileToWrite.Write "test satırı #2"FileToWrite.WriteBlankLines (3)FileToWrite.WriteLine "test satırı #3"FileToWrite.WriteLine "test satırı #4"FileToWrite.CloseAlt Bitiş

Ve sonuç:

VBA Programlama | Code Generator sizin için çalışıyor!

Metin Dosyasına Veri Aralığı

Çalışma sayfanızdan bir metin dosyasına bir veri aralığı çıktısı almak istiyorsanız, bu kodu kullanabilirsiniz:

12345678910111213141516171819 Sub OutputToTextFile()Dosya Adını Dize Olarak Dim, Dize Olarak LineTextAralık Olarak MyRange Dim, i, jFileName = "C:\Test\TestFile.txt" 'burada oluşturmak istediğiniz metin dosyası adını belirtebilirsinizÇıktı İçin Dosya Adını #1 Olarak AçınSet MyRange = Range("data") 'çalışma sayfanızda "data" adında bir veri aralığınız olduğunu varsayari = 1 için MyRange.Rows.Count içinj = 1 için MyRange.Columns.Count'aLineText = IIf(j = 1, "", LineText & ",") & MyRange.Cells(i, j) 'metin dosyası oluşturulurken virgül ayırıcı olacaktırsonraki jPrint #1, LineText 'Yazdır yerine Yaz komutunu kullanmak, verilerinizin çıktı metin dosyasında tırnak içine alınmasına neden olursonraki ben#1'i kapatAlt Bitiş

Diziden Metin Dosyasına

Veri dizinizi aşağıdaki gibi bir metin dosyasına da kaydedebilirsiniz:

12345678910111213141516 Alt SaveArrayToTextFile()Varyant Olarak MyArray DimFSO'yu Yeni FileSystemObject Olarak DimFSO'yu ayarla = CreateObject("Scripting.FileSystemObject")MyArray = Array(Array("00", "01")), Array("10", "11"), Array("20", "21"))FileToCreate = FSO.CreateTextFile("C:\Test\TestFile.txt") olarak ayarlayınn = 0 için UBound(MyArray)FileToCreate.WriteLine MyArray(n)(0) & "," & MyArray(n)(1)SonrakiFileToCreate.CloseAlt Bitiş

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave