VBA Sumulat ng Text File | Sumulat ng Excel Data sa Mga Text File gamit ang VBA Code

Excel VBA Sumulat ng File ng Teksto

Sa VBA maaari nating buksan o basahin o isulat ang isang text file, upang magsulat ng isang file ng teksto ay nangangahulugang ang data na mayroon kami sa isang excel sheet at nais namin ito sa isang text file o isang file na notepad, mayroong dalawang pamamaraan na dapat gawin, ang isa ay sa gamit ang pag-aari ng object ng File System ng VBA at ang isa pa ay sa pamamagitan ng paggamit ng bukas at pagsulat na pamamaraan sa VBA.

Sa karamihan ng mga kumpanya ng korporasyon, sa sandaling natapos ang ulat, tinitingnan nilang mai-upload ang ulat sa database. Upang mai-upload sa database ginagamit nila ang format na "Mga Text File" upang mai-update ang database. Karaniwan naming kinokopya ang data mula sa excel at i-paste sa isang text file. Ang dahilan kung bakit umaasa kami sa mga file ng teksto dahil ang mga iyon ay napakadaling magtrabaho kasama ng kanilang magaan at mas simpleng mga paraan. Sa pamamagitan ng paggamit ng VBA coding maaari nating i-automate ang gawain ng pagkopya ng data mula sa excel file hanggang sa text file. Sa artikulong ito, ipapakita namin sa iyo kung paano makopya o magsulat ng data mula sa excel file hanggang sa text file gamit ang VBA Code.

Paano Sumulat ng Data sa Mga Text File gamit ang VBA?

Ang pagsusulat ng data mula sa excel hanggang sa teksto ay isang kumplikadong pag-coding at nangangailangan ng napakahusay na kaalaman sa VBA coding. Sundin ang mga hakbang sa ibaba upang isulat ang VBA code upang makopya ang data mula sa excel sa isang text file.

Bago ko ipakita sa iyo ang paraan upang isulat ang code hayaan mo akong ipaliwanag kung paano buksan ang file ng teksto sa pamamagitan ng paggamit ng isang bukas na pahayag.

Syntax ng Open Text File

Buksan ang [Path Path], Para sa [Mode], Bilang [File Number]

Path ng File: Ang landas ng file na sinusubukan naming buksan sa computer.

Mode: Ang mode ay ang kontrol na maaari nating magkaroon sa pagbubukas ng mga file ng teksto. Maaari kaming magkaroon ng tatlong uri ng kontrol sa file ng teksto.

  • Input Mode: Ipinapahiwatig nito na "Basahin lamang”Kontrol ng pambungad na file ng teksto. Kung gagamitin namin ang "Input Mode" wala kaming magagawa sa file. Maaari lamang nating basahin ang mga nilalaman ng file ng teksto.
  • Output Mode: Gamit ang pagpipiliang ito maaari naming isulat ang nilalaman dito. Ang puntong kailangan nating tandaan dito ay ang lahat ng mga umiiral na data ay mai-o-overtake. Kaya, kailangan nating mag-ingat sa posibleng pagkawala ng lumang data.
  • Append Mode: Ang mode na ito ay ganap na kabaligtaran ng OutPut Mode. Gamit ang pamamaraang ito maaari naming talagang isulat ang bagong data sa dulo ng umiiral na data sa file.

Numero ng File: Ito ay bibilangin ang numero ng file ng teksto ng lahat ng nabuksan na mga file ng teksto. Makikilala nito ang binuksan na mga numero ng file sa mga halaga ng integer mula 1 hanggang 511. Ang pagtatalaga ng numero ng file ay ang nakakalito at hahantong sa maraming pagkalito. Para sa mga ito, maaari naming gamitin ang libreng pagpapaandar ng File.

Libreng File ibabalik ang natatanging numero para sa mga nabuksan na file. Sa ganitong paraan maaari naming italaga ang natatanging numero ng file nang walang anumang uri ng mga duplicate na halaga.

Maaari mong i-download ang Template ng File File na Sulat ng VBA dito - VBA na Sumulat ng Template ng Teksto ng File

Halimbawa # 1

Sundin ang mga hakbang sa ibaba upang isulat ang code upang lumikha ng isang bagong file ng teksto.

Ipagpalagay na mayroon ka nang isang file ng teksto na pinangalanang "Hello.txt" sa iyong imbakan ng computer at ipapakita namin sa iyo kung paano isulat ang data dito.

Hakbang 1: Ipahayag ang Variable

Ideklara ang variable na hawakan ang File path bilang String.

Code:

 Sub TextFile_Example1 () Dim Path Bilang String End Sub 

Hakbang 2: Tukuyin ang Numero ng File

Upang matukoy kung aling numero ng file ang tinutukoy namin upang ideklara ang isa pang variable bilang Integer.

Code:

 Sub TextFile_Example1 () Dim Path Bilang String Dim FileNumber Bilang Integer End Sub 

Hakbang 3: Magtalaga ng Path ng File

Ngayon para sa variable ng Path italaga ang path ng file na may isang pangalan ng file.

Code:

 Sub TextFile_Example1 () Dim Path Bilang String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Baguhin ang path ayon sa iyong kinakailangan End Sub 

Hakbang 4: Magtalaga ng Libreng Pag-andar ng File

Ngayon para sa variable na Numero ng File ay magtalaga ng pagpapaandar na "Libreng File" upang mag-imbak ng natatanging numero ng file.

Code:

 Sub TextFile_Example1 () Dim Path Bilang String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Palitan ang path ayon sa iyong kinakailangan FileNumber = FreeFile End Sub 

Hakbang 5: Buksan ang File ng Teksto

Ngayon kailangan naming buksan ang file ng teksto upang gumana kasama nito. Tulad ng ipinaliwanag ko kailangan nating gamitin ang pahayag na BUKSAN upang buksan ang file ng teksto.

Hakbang 6: Gumamit ng Paraan ng Pag-print / Pagsulat

Kapag nabuksan ang File kailangan nating magsulat ng isang bagay dito. Upang magsulat sa file ng teksto kailangan naming gamitin ang alinman sa "Isulat" o "I-print" na pamamaraan.

Code:

 Sub TextFile_Example1 () Dim Path Tulad ng String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Palitan ang path alinsunod sa iyong kinakailangan FileNumber = FreeFile Open Path Para sa Output Bilang FileNumber Print #FileNumber, " Maligayang pagdating sa "Print #FileNumber," sa "Print #FileNumber," VBA "End Sub 

Una, kailangan naming banggitin ang file number (dito namin itinalaga ang file sa pamamagitan ng variable na "FileNumber"), pagkatapos ay kailangan naming idagdag ang nilalamang nais naming idagdag sa isang text file.

Hakbang 7: I-save at Isara ang File ng Teksto

Kapag nakasulat ang nilalaman sa isang text file, kailangan naming i-save at isara ang file ng teksto.

Code:

 Sub TextFile_Example1 () Dim Path Tulad ng String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Palitan ang path alinsunod sa iyong kinakailangan FileNumber = FreeFile Open Path Para sa Output Bilang FileNumber Print #FileNumber, " Maligayang pagdating sa "Print #FileNumber," sa "Print #FileNumber," VBA "Isara ang FileNumber End Sub 

Ngayon, patakbuhin ang code nang manu-mano o sa pamamagitan ng shortcut excel key F5, isusulat nito ang nabanggit na nilalaman sa nabanggit na file ng teksto.

Halimbawa # 2

Ngayon makikita natin kung paano isulat ang data ng excel sheet sa isang text file.

Para sa halimbawang ito, lumikha ako ng simpleng data sa excel tulad ng sa ibaba.

Hakbang 1: Sa pagpapatuloy ng dating halimbawa tukuyin ang dalawa pang mga variable bilang Integer upang mahanap ang huling hilera at huling haligi.

Code:

 Sub TextFile_Example2 () Dim Path Bilang String Dim FileNumber Bilang Integer Dim LR Bilang Integer Dim LC Bilang Integer End Sub 

Hakbang 2: Hanapin ang huling ginamit na hilera at haligi sa worksheet.

Hakbang 3: Ngayon italaga ang file path at file number.

Hakbang 4: Ngayon gamitin ang OPEN statement upang buksan ang text file.

Hakbang 5: Kailangan naming mag-loop sa mga hilera at haligi, kaya ideklara ang dalawa pang variable bilang Integer.

Hakbang 6: Ngayon buksan ang Loop upang loop sa pamamagitan ng hilera (Para sa susunod na loop sa VBA)

Hakbang 7: Ngayon upang mag-loop sa mga haligi buksan ang isa pang loop sa loob ng mayroon nang loop.

Hakbang 8: Kailangan naming isulat ang parehong linya ng data hanggang sa maabot nito ang huling haligi. Kaya para sa ito ilapat KUNG pahayag sa VBA.

Hakbang 9: Ngayon ay i-save at isara ang file ng teksto.

Isusulat ng code na ito ang mga detalye sa isang text file, ngunit upang buksan ang file ng teksto pagkatapos na nakasulat kailangan naming gamitin ang code sa ibaba.

Code:

 Sub TextFile_Example2 () Dim Path Bilang String Dim FileNumber Bilang Integer Dim LR Bilang Integer Dim LC Bilang Integer Dim k Bilang Integer Dim i Bilang Integer LR = Mga Worksheet ("Text"). Mga Cell (Rows.Count, 1). End (xlUp) .Row LC = Mga Worksheet ("Text"). Mga Cell (1, Columns. Count). End (xlToLeft). Path ng Column = "D: \ Excel Files \ VBA File \ Hello.txt" FileNumber = FreeFile Open Path Para sa Output Bilang FileNumber Para sa k = 1 To LR Para sa i = 1 To LC Kung i LC Pagkatapos I-print ang #FileNumber, Cells (i, k), Ibang Print #FileNumber, Cells (i, k) Tapusin Kung Susunod i Susunod k Close FileNumber Shell "notepad .exe "& Path, vbNormalFocus End Sub 

Kaya, patakbuhin ang code gamit ang F5 key o manu-mano pagkatapos, kokopyahin nito ang data tulad ng nasa ibaba.