VBA - kirjutage tekstifaili

Lang L: none (table-of-contents)

See õpetus näitab, kuidas VBA abil tekstifailidesse kirjutada.

Kirjutage tekstifaili

Allpool olevad koodid kasutavad FileSystemObject. Selle kasutamiseks peate määrama viite VB skripti käitusajale.

Kirjutage uude tekstifaili

Koos CreateTextFile meetod FileSystemObject saate tekstifaili luua ja seejärel sisu lisada:

123456789 Alam FSOCreateAndWriteToTextFile ()Dim FSO uue failisüsteemi objektinaMäära FSO = CreateObject ("Scripting.FileSystemObject")Määra FileToCreate = FSO.CreateTextFile ("C: \ Test \ TestFile.txt")FileToCreate.Write "test line"FileToCreate.CoseEnd Sub

Pange tähele, et sisu ei lisata jutumärkidele.

Kirjutage olemasolevasse tekstifaili

Olemasolevasse tekstifaili kirjutamiseks võite kasutada OpenTextFile meetod FileSystemObject koos ForWriting režiimi.

123456789 Alam FSOWriteToTextFile ()Dim FSO uue failisüsteemi objektinaMäära FSO = CreateObject ("Scripting.FileSystemObject")Määra FileToWrite = FSO.OpenTextFile ("C: \ Test \ TestFile.txt", ForWriting)FileToWrite.Write "test line"FileToWrite.SulgeEnd Sub

Pange tähele, et te ei pea tingimata FileSystemObjecti olemasolevasse tekstifaili kirjutama. Ülaltoodud näidet on selles koodis näidatud muul viisil (vt muud näidet jaotises Andmevahemik tekstifailiks):

123456789 Sub WriteToTextFile ()Hämarda failinimi stringinaFileName = "C: \ Test \ TestFile.txt"Avage väljundi failinimi #1Trükk nr 1, "testliin"Sule #1End Sub

Pange tähele, et käsu Kirjutamine asemel Prindi asemel lisatakse lisatud sisu jutumärkidesse. Mõlemad käsud on teie makros

12 Kirjutage number 1, "testirida #1"Trükk nr 1, "testliin #2"

tulemuseks on selline tekstifail:

VBA programmeerimine | Koodigeneraator töötab teie jaoks!

Lisa tekstifaili

Kui muudate ülaltoodud koodi režiimi ForAppending, saab tekstifaili lõppu lisada rea:

1 Määra FileToWrite = FSO.OpenTextFile ("C: \ Test \ TestFile.txt", ForAppending)

WriteLine meetod

See meetod lisab sisestatud stringi eraldi reana olemasolevale sisule.

Kirjutamismeetod

Sisestusstring lisatakse olemasoleva sisuga samale reale.

Kas olete väsinud VBA koodinäidete otsimisest? Proovige AutoMacrot!

WriteBlankLines

See meetod võtab parameetrina tekstifaili kirjutatavate tühjade ridade arvu.

See allolev kood illustreerib erinevust erinevate kirjutamismeetodite vahel:

12345678910111213 Sub WriteMethods ()Dim FSO uue failisüsteemi objektinaMäära FSO = CreateObject ("Scripting.FileSystemObject")Määra FileToWrite = FSO.OpenTextFile ("C: \ Test \ TestFile.txt", ForAppending)FileToWrite.Write "testliin #1"FileToWrite.Write "testliin #2"FileToWrite.WriteBlankLines (3)FileToWrite.WriteLine "testliin #3"FileToWrite.WriteLine "testliin #4"FileToWrite.SulgeEnd Sub

Ja tulemus:

VBA programmeerimine | Koodigeneraator töötab teie jaoks!

Andmevahemik tekstifailiks

Kui soovite töölehelt andmevahemiku tekstifaili väljastada, saate kasutada järgmist koodi.

12345678910111213141516171819 AlamväljundToTextFile ()Hämarda failinime stringina, LineText stringinaDim MyRange As Range, i, jFileName = "C: \ Test \ TestFile.txt" 'siin saate määrata tekstifaili nime, mida soovite luuaAvage väljundi failinimi #1Määra MyRange = Vahemik ("andmed") 'eeldab, et teie töölehel on andmevahemik nimega "andmed"Sest i = 1 MyRange.Rows.CountJ = 1 jaoks MyRange.Columns.CountLineText = IIf (j = 1, "", LineText & ",") & MyRange.Cells (i, j) 'loodud tekstifailil on koma eraldajaJärgmine jPrindi nr 1, LineText ', kasutades printimise asemel käsku Kirjutamine, toob teie andmed välja tekstiteksti jutumärkidesEdasi iSule #1End Sub

Massiiv tekstifaili

Samuti saate salvestada oma andmemassiivi tekstifaili järgmiselt.

12345678910111213141516 Sub SaveArrayToTextFile ()Dim MyArray kui variantDim FSO uue failisüsteemi objektinaMäära FSO = CreateObject ("Scripting.FileSystemObject")MyArray = massiiv (massiiv ("00", "01"), massiiv ("10", "11"), massiiv ("20", "21"))Määra FileToCreate = FSO.CreateTextFile ("C: \ Test \ TestFile.txt")N = 0 jaoks UBoundile (MyArray)FileToCreate.WriteLine MyArray (n) (0) & "," & MyArray (n) (1)EdasiFileToCreate.CoseEnd Sub

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave