VBA - Kirjoita tekstitiedostoon

Sisällysluettelo

Tämä opetusohjelma osoittaa, kuinka kirjoittaa tekstitiedostoihin VBA: n avulla.

Kirjoita tekstitiedostoon

Alla olevat koodit käyttävät FileSystemObject. Jotta voit käyttää sitä, sinun on asetettava viittaus VB-komentosarjan ajonaikaiseen kirjastoon.

Kirjoita uuteen tekstitiedostoon

Kanssa CreateTextFile menetelmä FileSystemObject voit luoda ja lisätä sisältöä tekstitiedostoon:

123456789 Sub FSOCreateAndWriteToTextFile ()Himmennä FSO uutena FileSystemObjectinaAseta FSO = CreateObject ("Scripting.FileSystemObject")Aseta FileToCreate = FSO.CreateTextFile ("C: \ Test \ TestFile.txt")FileToCreate.Write "testiviiva"FileToCreate.CloseEnd Sub

Huomaa, että sisältöä ei suljeta lainausmerkkeihin.

Kirjoita olemassa olevaan tekstitiedostoon

Voit kirjoittaa olemassa olevaan tekstitiedostoon käyttämällä OpenTextFile menetelmä FileSystemObject kanssa Kirjoittamista varten -tilaan.

123456789 Alaosa FSOWriteToTextFile ()Himmennä FSO uutena FileSystemObjectinaAseta FSO = CreateObject ("Scripting.FileSystemObject")Aseta FileToWrite = FSO.OpenTextFile ("C: \ Test \ TestFile.txt", ForWriting)FileToWrite.Write "testiviiva"FileToWrite.CloseEnd Sub

Huomaa, että sinun ei välttämättä tarvitse FileSystemObjectia kirjoittaaksesi olemassa olevaan tekstitiedostoon. Yllä oleva esimerkki näkyy toisella tavalla tässä alla olevassa koodissa (katso toinen esimerkki Tietoalue -tekstitiedosto -osiosta):

123456789 Sub WriteToTextFile ()Himmennä tiedostonimi merkkijononaFileName = "C: \ Test \ TestFile.txt"Avaa tiedostonimi nimellä #1Tulosta numero 1, "testiviiva"Sulje #1End Sub

Huomaa, että käyttämällä Kirjoita -komentoa tulostuksen sijasta, lisätty sisältö on lainausmerkkien sisällä. Molemmat komennot makrossa

12 Kirjoita numero 1, "testirivi #1"Tulosta numero 1, "testiviiva #2"

tuloksena on seuraavanlainen tekstitiedosto:

VBA -ohjelmointi | Koodigeneraattori toimii sinulle!

Liitä tekstitiedostoon

Vaihtamalla yllä olevan koodin tilaksi ForAppending, tekstitiedoston loppuun voidaan lisätä rivi:

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

WriteLine -menetelmä

Tämä menetelmä lisää syöttöjonon erilliseksi riviksi olemassa olevaan sisältöön.

Kirjoita menetelmä

Syöttöjono lisätään samalle riville kuin olemassa oleva sisältö.

Oletko kyllästynyt etsimään esimerkkejä VBA -koodista? Kokeile AutoMacroa!

WriteBlankLines

Tämä menetelmä ottaa parametriksi tekstitiedostoon kirjoitettavien tyhjien rivien määrän.

Tämä alla oleva koodi kuvaa eri kirjoitusmenetelmien eroa:

12345678910111213 Sub WriteMethods ()Himmennä FSO uutena FileSystemObjectinaAseta FSO = CreateObject ("Scripting.FileSystemObject")Aseta FileToWrite = FSO.OpenTextFile ("C: \ Test \ TestFile.txt", ForAppending)FileToWrite.Write "testirivi #1"FileToWrite.Write "testirivi #2"FileToWrite.WriteBlankLines (3)FileToWrite.WriteLine "testirivi #3"FileToWrite.WriteLine "testirivi #4"FileToWrite.CloseEnd Sub

Ja tulos:

VBA -ohjelmointi | Koodigeneraattori toimii sinulle!

Tietoalue tekstitiedostoon

Jos haluat tulostaa tietoalueen laskentataulukostasi tekstitiedostoon, voit käyttää tätä koodia:

12345678910111213141516171819 Sub OutputToTextFile ()Himmennä tiedostonimi merkkijonona, riviteksti merkkijononaDim MyRange As Range, i, jFileName = "C: \ Test \ TestFile.txt" 'voit määrittää tässä tekstitiedoston nimen, jonka haluat luodaAvaa tiedostonimi nimellä #1Aseta MyRange = Range ("data") 'olettaa, että laskentataulukossasi on data -alue nimeltä "data"Sillä i = 1 MyRange.Rows.CountJos j = 1 MyRange.Columns.CountLineText = IIf (j = 1, "", LineText & ",") & MyRange.Cells (i, j) 'luodussa tekstitiedostossa on pilkkuerotinSeuraava jTulosta numero 1, LineText 'käyttämällä Kirjoita -komentoa tulostuksen sijaan johtaa siihen, että tiedot ovat lainausmerkeissä tulostustekstitiedostossaSeuraavaksi minäSulje #1End Sub

Array tekstitiedostoon

Voit myös tallentaa dataryhmän tekstitiedostoon seuraavasti:

12345678910111213141516 Sub SaveArrayToTextFile ()Dim MyArray vaihtoehtoinaHimmennä FSO uutena FileSystemObjectinaAseta FSO = CreateObject ("Scripting.FileSystemObject")MyArray = Array (Array ("00", "01"), Array ("10", "11"), Array ("20", "21"))Aseta FileToCreate = FSO.CreateTextFile ("C: \ Test \ TestFile.txt")N = 0 UBoundille (MyArray)FileToCreate.WriteLine MyArray (n) (0) & "," & MyArray (n) (1)SeuraavaFileToCreate.CloseEnd Sub

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave