VBA - rakstiet teksta failā

Satura rādītājs

Šī apmācība parādīs, kā rakstīt teksta failos, izmantojot VBA.

Rakstiet teksta failā

Zemāk esošie kodi izmanto FileSystemObject. Lai to izmantotu, jums būs jāiestata atsauce uz VB skripta izpildes laika bibliotēku.

Rakstiet jaunā teksta failā

Ar CreateTextFile metode FileSystemObject varat izveidot un pēc tam pievienot teksta failam saturu:

123456789 Sub FSOCreateAndWriteToTextFile ()Dim FSO kā jauns FileSystemObjectIestatīt FSO = CreateObject ("Scripting.FileSystemObject")Iestatiet FileToCreate = FSO.CreateTextFile ("C: \ Test \ TestFile.txt")FileToCreate.Write "testa rindiņa"FileToCreate.CloseBeigu apakš

Lūdzu, ņemiet vērā, ka saturs netiks pievienots pēdiņām.

Rakstiet esošajā teksta failā

Lai rakstītu esošā teksta failā, varat izmantot OpenTextFile metode FileSystemObject ar ForWriting režīmu.

123456789 Sub FSOWriteToTextFile ()Dim FSO kā jauns FileSystemObjectIestatīt FSO = CreateObject ("Scripting.FileSystemObject")Iestatīt FileToWrite = FSO.OpenTextFile ("C: \ Test \ TestFile.txt", ForWriting)FileToWrite.Write "testa līnija"FileToWrite.CloseBeigu apakš

Lūdzu, ņemiet vērā, ka jums nav obligāti nepieciešams FileSystemObject, lai rakstītu esošā teksta failā. Iepriekš minētais piemērs šajā kodā ir parādīts citā veidā (skatiet citu piemēru sadaļā Datu diapazons līdz teksta failam):

123456789 Sub WriteToTextFile ()Dim faila nosaukums kā virkneFileName = "C: \ Test \ TestFile.txt"Atveriet FileName izvadam kā #11. izdruka, "testa līnija"Aizvērt #1Beigu apakš

Lūdzu, ņemiet vērā, ka, izmantojot komandu Rakstīt, nevis drukāt, pievienotais saturs tiks pievienots pēdiņās. Abas komandas makro

12 Uzrakstiet #1, "testa rindiņa #1"1. izdruka, "testa līnija #2"

radīsies šāds teksta fails:

VBA programmēšana | Kodu ģenerators strādā jūsu labā!

Pievienot teksta failam

Mainot iepriekšminētā koda režīmu uz ForAppending, teksta faila beigās var pievienot rindu:

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

WriteLine metode

Šī metode pievieno ievades virkni kā atsevišķu rindu esošajam saturam.

Rakstīšanas metode

Ievades virkne tiek pievienota tajā pašā rindā, kurā esošais saturs.

Vai esat noguris no VBA koda piemēru meklēšanas? Izmēģiniet AutoMacro!

WriteBlankLines

Šī metode kā parametru ņem teksta failā ierakstāmo tukšo rindu skaitu.

Šis kods parāda atšķirību starp dažādām rakstīšanas metodēm:

12345678910111213 Sub WriteMethods ()Dim FSO kā jauns FileSystemObjectIestatīt FSO = CreateObject ("Scripting.FileSystemObject")Iestatīt FileToWrite = FSO.OpenTextFile ("C: \ Test \ TestFile.txt", ForAppending)FileToWrite.Write "testa rindiņa #1"FileToWrite.Write "testa rindiņa #2"FileToWrite.WriteBlankLines (3)FileToWrite.WriteLine "testa līnija #3"FileToWrite.WriteLine "testa līnija #4"FileToWrite.CloseBeigu apakš

Un rezultāts:

VBA programmēšana | Kodu ģenerators strādā jūsu labā!

Datu diapazons līdz teksta failam

Ja vēlaties izvadīt datu diapazonu no darblapas uz teksta failu, varat izmantot šo kodu:

12345678910111213141516171819 Sub OutputToTextFile ()Dim faila nosaukums kā virkne, rindas teksts kā virkneDim MyRange As Range, i, jFileName = "C: \ Test \ TestFile.txt" 'šeit varat norādīt teksta faila nosaukumu, kuru vēlaties izveidotAtveriet FileName izvadam kā #1Iestatīt MyRange = Diapazons ("dati") 'tas pieņem, ka jūsu darblapā ir datu diapazons ar nosaukumu "dati"I = 1 uz MyRange.Rows.CountJ = 1 uz MyRange.Columns.CountLineText = IIf (j = 1, "", LineText & ",") & MyRange.Cells (i, j) 'teksta faila izveidošanai būs komatsNākamais jDrukājot Nr. 1, LineText ', izmantojot komandu Rakstīt, nevis drukāt, jūsu izvades teksta failā jūsu dati būs pēdiņāsTālāk iAizvērt #1Beigu apakš

Masīvs uz teksta failu

Varat arī saglabāt savu datu masīvu teksta failā šādi:

12345678910111213141516 Sub SaveArrayToTextFile ()Dim MyArray kā variantsDim FSO kā jauns FileSystemObjectIestatīt FSO = CreateObject ("Scripting.FileSystemObject")MyArray = masīvs (masīvs ("00", "01"), masīvs ("10", "11"), masīvs ("20", "21"))Iestatiet FileToCreate = FSO.CreateTextFile ("C: \ Test \ TestFile.txt")Ja n = 0 uz UBound (MyArray)FileToCreate.WriteLine MyArray (n) (0) & "," & MyArray (n) (1)NākamaisFileToCreate.CloseBeigu apakš

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave