VBA Rašyti teksto failą | Parašykite „Excel“ duomenis į tekstinius failus naudodami VBA kodą

„Excel VBA“ rašykite teksto failą

VBA mes galime atidaryti, skaityti ar rašyti tekstinį failą. Rašyti teksto failą reiškia duomenis, kuriuos turime „Excel“ lape, ir mes norime, kad jie būtų teksto failas arba bloknotas. Yra du būdai, kuriuos reikia atlikti naudojant VBA failų sistemos objektų ypatybę „File System“, naudojant VBA „Open and write“ metodą.

Daugumoje korporacinių bendrovių, kai tik ataskaita yra baigta, jos siekia įkelti ataskaitą į duomenų bazę. Norėdami įkelti į duomenų bazę, jie naudoja „Text Files“ formatą, kad atnaujintų duomenų bazę. Paprastai duomenis nukopijuojame iš „Excel“ ir įklijuojame į tekstinį failą. Priežastis, kodėl mes pasikliaujame tekstiniais failais, nes juos lengva naudoti dėl jų lengvo ir paprastesnio būdo. Naudodami VBA kodavimą galime automatizuoti duomenų kopijavimo iš „Excel“ failo į tekstinį failą užduotį. Šiame straipsnyje mes parodysime, kaip kopijuoti ar rašyti duomenis iš „Excel“ failo į tekstinį failą naudojant VBA kodą.

Kaip rašyti duomenis į tekstinius failus naudojant VBA?

Duomenų rašymas iš „Excel“ į tekstą yra sudėtingas kodavimas ir reikalauja labai gerų VBA kodavimo žinių. Atlikite toliau nurodytus veiksmus, norėdami parašyti VBA kodą, kad nukopijuotumėte duomenis iš „Excel“ į teksto failą.

Prieš parodydamas kodo rašymo būdą, leiskite man paaiškinti, kaip atidaryti teksto failą naudojant atvirą teiginį.

Atviro teksto failo sintaksė

Atidarykite [Failo kelias], [Režimas], Kaip [Failo numeris]

Failo kelias: failo, kurį bandome atidaryti kompiuteryje, kelias.

Režimas: režimas yra valdymas, kurį mes galime turėti atidarydami tekstinius failus. Mes galime valdyti tris teksto failo tipus.

  • Įvesties režimas: Tai rodo atidarymo teksto failo valdymą tik skaityti . Jei mes naudojame „Įvesties režimą“, mes negalime nieko padaryti su failu. Mes galime tiesiog perskaityti teksto failo turinį.
  • Išvesties režimas: naudodamiesi šia parinktimi galime įrašyti jame turinį. Čia turime atsiminti, kad visi esami duomenys bus perrašyti. Taigi turime saugotis galimo senų duomenų praradimo.
  • Pridėti režimą: šis režimas yra visiškai priešingas išvesties režimui. Naudodami šį metodą, naujus duomenis iš tikrųjų galime įrašyti esamų failo duomenų pabaigoje.

Failo numeris: Tai suskaičiuos visų atidarytų tekstinių failų teksto failo numerį. Tai atpažins atidarytus failų skaičius sveikais skaičiais nuo 1 iki 511. Priskirti failo numerį yra keblu ir sukelti daug painiavos. Tam galime naudoti nemokamą failo funkciją.

Laisvas failas grąžina unikalų atidarytų failų numerį. Tokiu būdu galime priskirti unikalų failo numerį be jokių pasikartojančių reikšmių.

Šį VBA rašymo teksto failo šabloną galite atsisiųsti čia - VBA rašyti teksto failo šabloną

1 pavyzdys

Norėdami sukurti naują teksto failą, atlikite toliau nurodytus veiksmus, norėdami parašyti kodą.

Tarkime, kad jūs jau turite teksto failą pavadinimu „Hello.txt“ savo kompiuterio saugykloje, ir mes jums parodysime, kaip jame įrašyti duomenis.

1 veiksmas: paskelbkite kintamąjį

Paskelbkite kintamąjį failo kelią laikyti eilute.

Kodas:

 Sub TextFile_Example1 () Dim kelias kaip eilutė Pabaiga Sub 

2 žingsnis: nustatykite failo numerį

Norėdami nustatyti, kurį failo numerį nurodome, dar vieną kintamąjį paskelbkite sveikuoju skaičiumi.

Kodas:

 Sub TextFile_Example1 () Dim kelias kaip eilutė Dim FileNumber kaip sveikoji pabaiga Sub 

3 žingsnis: priskirkite failo kelią

Dabar kintamasis „Path“ priskiria failo kelią su failo pavadinimu.

Kodas:

 Sub TextFile_Example1 () Dim kelias kaip eilutė Dim FileNumber kaip sveikojo kelio = "D: \ Excel Files \ VBA File \ Hello.txt" 'Pakeiskite kelią pagal savo reikalavimą Pabaiga Sub 

4 žingsnis: priskirkite nemokamo failo funkciją

Dabar failo numerio kintamajam priskirkite funkciją „Free File“, kad išsaugotumėte unikalų failo numerį.

Kodas:

 Sub TextFile_Example1 () Dim kelias kaip eilutė Dim FileNumber kaip sveikojo kelio = "D: \ Excel Files \ VBA File \ Hello.txt" 'Pakeiskite kelią pagal savo reikalavimą FileNumber = FreeFile End Sub 

5 žingsnis: Atidarykite teksto failą

Dabar turime atidaryti teksto failą, kad galėtume su juo dirbti. Kaip jau paaiškinau, teksto failui atidaryti reikia naudoti sakinį OPEN.

6 žingsnis: naudokite spausdinimo / rašymo metodą

Atidarę failą, turime į jį ką nors įrašyti. Norėdami įrašyti į teksto failą, turime naudoti metodą „Rašyti“ arba „Spausdinti“.

Kodas:

 Sub TextFile_Example1 () Dim kelias kaip eilutė Dim FileNumber As sveikojo kelio = "D: \ Excel Files \ VBA File \ Hello.txt" 'Pakeiskite kelią pagal savo reikalavimą FileNumber = FreeFile atviras išvesties kelias kaip FileNumber Spausdinti #FileNumber ". Sveiki atvykę į „Spausdinti # failo numerį“ į „Spausdinti # failo numerį“, „VBA“ pabaigos antrinę dalį 

Pirmiausia turime paminėti failo numerį (čia mes priskyrėme failą per „FileNumber“ kintamąjį), tada turime pridėti turinį, kurį norime pridėti prie teksto failo.

7 veiksmas: išsaugokite ir uždarykite teksto failą

Kai turinys parašomas tekstiniame faile, turime išsaugoti ir uždaryti tekstinį failą.

Kodas:

 Sub TextFile_Example1 () Dim kelias kaip eilutė Dim FileNumber As sveikojo kelio = "D: \ Excel Files \ VBA File \ Hello.txt" 'Pakeiskite kelią pagal savo reikalavimą FileNumber = FreeFile atviras išvesties kelias kaip FileNumber Spausdinti #FileNumber ". Sveiki atvykę į „Spausdinti # failo numerį“ į „Spausdinti # failo numerį“, „VBA“. Uždaryti failo numerio pabaigos antrinę dalį 

Dabar paleiskite kodą rankiniu būdu arba naudodamiesi sparčiuoju „Excel“ klavišu F5, jis įrašys minėtą turinį į minėtą tekstinį failą.

2 pavyzdys

Dabar pamatysime, kaip „Excel“ lapo duomenis įrašyti į tekstinį failą.

Šiame pavyzdyje sukūriau paprastus „Excel“ duomenis, kaip nurodyta toliau.

1 žingsnis: tęsdami senąjį pavyzdį, apibrėžkite dar du kintamuosius kaip sveikąjį skaičių, kad rastumėte paskutinę eilutę ir paskutinį stulpelį.

Kodas:

 Sub TextFile_Example2 () Dim kelias kaip eilutė Dim FileNumber kaip sveikas Dim LR kaip sveikas Dim LC LC kaip sveikoji pabaiga Sub 

2 žingsnis: darbalapyje raskite paskutinį kartą naudotą eilutę ir stulpelį.

3 žingsnis: Dabar priskirkite failo kelią ir failo numerį.

4 žingsnis: Dabar naudokite OPEN sakinį, kad atidarytumėte teksto failą.

5 žingsnis: turime pereiti per eilutes ir stulpelius, todėl dar du kintamuosius paskelbkite sveikaisiais.

6 žingsnis: Dabar atidarykite kilpą, norėdami pereiti per eilutę (kitai VBA kilpai)

7 žingsnis: Dabar, norėdami perjungti stulpelius, atidarykite dar vieną kilpą esamos kilpos viduje.

8 žingsnis: Turime parašyti tą pačią duomenų eilutę, kol ji pasieks paskutinį stulpelį. Taigi tam taikykite IF teiginį VBA.

9 žingsnis: Dabar išsaugokite ir uždarykite tekstinį failą.

Šis kodas įrašys išsamią informaciją į tekstinį failą, tačiau norėdami atidaryti teksto failą po parašymo, turime naudoti toliau pateiktą kodą.

Kodas:

 Sub TextFile_Example2 () Dim kelias kaip eilutė Dim FileNumber kaip sveikas Dim LR kaip sveikas Dim LC LC kaip sveikas Dim k kaip sveikas Dim i kaip sveikas LR = darbalapiai ("Tekstas"). Ląstelės (Rows.Count, 1) .End (xlUp) .Row LC = darbalapiai ("Tekstas"). Langeliai (1, Columns.Count) .End (xlToLeft) .Culpelio kelias = "D: \ Excel Files \ VBA File \ Hello.txt" FileNumber = FreeFile atviras išvesties kelias kaip FileNumber for k = 1 To LR for i = 1 to LC If i LC Tada spauskite #FileNumber, Cells (i, k), Kita spausdinti #FileNumber, Cells (i, k) Pabaiga, jei Kitas i Kitas k Uždarykite FileNumber Shell "bloknotą .exe "& kelias, vbNormalFocus pabaigos antrinis 

Taigi, paleiskite kodą naudodami F5 klavišą arba rankiniu būdu, jis nukopijuos duomenis, kaip nurodyta toliau.


$config[zx-auto] not found$config[zx-overlay] not found