VBA FreeFile | Paano Gumamit ng FreeFile Function sa Excel VBA?

Excel VBA FreeFile

Ang FreeFile ay isang pagpapaandar sa VBA na magagamit lamang bilang isang pagpapaandar ng VBA hindi bilang isang pagpapaandar ng worksheet. Ang pagpapaandar ng VBA FreeFile ay nagbabalik ng natatanging numero ng integer sa file na binuksan at pinapanatili ang numero para sa susunod na magagamit na numero ng file.

Karaniwan naming binubuksan ang mga file mula sa aming computer upang alinman magsulat ng isang bagay o sa read-only, habang tumutukoy sa mga file na iyon dapat kaming mag-refer sa isang natatanging numero ng integer. Pinapayagan kami ng pagpapaandar ng VBA FreeFile na tukuyin ang natatanging numero ng integer upang italaga sa pagbubukas ng file upang mabasa, magsulat, at magbukas ng mga file gamit ang VBA.

Ngayon tingnan ang syntax ng OPEN na pahayag.

BUKSAN [Address ng Path ng File] Para sa [Mode na Magbubukas] Bilang [Numero ng File]

Address ng Path ng File: Kailangan naming banggitin ang file address sa aming computer na sinusubukan naming buksan.

Mode upang Buksan: Habang binubuksan ang file kailangan naming malaman kung anong uri ng modelo ang ilalapat namin. Maaari kaming gumamit ng tatlong mga mode dito, "Input Mode", "OutPut Mode", at "Append Mode".

Input mode upang mabasa lamang ang file.

Output mode upang burahin ang mayroon nang data at magpasok ng bagong data.

Idagdag ang mode upang magdagdag ng bagong data habang pinapanatili ang umiiral na data.

Numero ng File: Sa argument na ito, maaari kaming mag-refer sa file na binubuksan namin. Dito gumaganap ang pagpapaandar na "FreeFile" ng isang mahalagang papel at ibabalik ang natatanging numero ng integer.

Paano Magamit ang FreeFile Function sa Excel VBA?

Maaari mong i-download ang VBA FreeFile Excel Template dito - VBA FreeFile Excel Template

Ngayon, tingnan ang code sa ibaba.

Code:

 Sub FreeFile_Example1 () Dim Path Bilang String Dim FileNumber As Integer Path = "D: \ Mga Artikulo \ 2019 \ File 1.txt" FileNumber = FreeFile Open Path Para sa Output Bilang FileNumber Path = "D: \ Mga Artikulo \ 2019 \ File 2.txt "FileNumber = FreeFile Open Path Para sa Output Bilang FileNumber End Sub 

Hayaan mo akong ma-decode ang code sa itaas upang maunawaan mo.

Una ay idineklara ko ang dalawang variable.

 Dim Path Bilang String, Dim FileNumber Bilang Integer 

Pagkatapos ay naitalaga ko ang file path na may pangalan nito.

Path = "D: \ Mga Artikulo \ 2019 \ File 1.txt"

Pagkatapos para sa isa pang variable, naitalaga ko ang pagpapaandar na LIBRENG.

FileNumber = FreeFile

Pagkatapos ay ginamit ko ang Bukas na pahayag upang buksan ang file ng teksto sa nabanggit na landas ng file.

 Buksan ang Path Para sa Output Bilang FileNumber

Ok, ngayon ay tatakbo ako ng linya sa pamamagitan ng line code sa pamamagitan ng pagpindot sa F8 key at makita ang halaga ng variable na "FileNumber".

Ipinapakita nito ang numero ng file bilang 1. Kaya, awtomatikong nareserba ng libreng pag-andar ng file ang numerong ito sa pambungad na file. Habang pinapatakbo ito walang ibang mga file ang bubuksan.

Patuloy kong ipapatupad ang susunod na linya ng VBA code at makita kung ano ang numero ng file kung tumalon ako sa susunod na linya.

Ngayon sinasabi nito 2. Kung kaya ang pag-andar ng FreeFile ay naglalaan ng natatanging numero ng integer 2 sa pangalawang file ng pagbubukas.

Ang FreeFile Function Laging Bumabalik 1 kung isasara namin ang Excel File

Ang isang bagay na kailangan nating tingnan ay ang function na VBA "FreeFile" na laging nagbabalik ng 1 kung isasara namin ang binuksan na file bago buksan ang pangalawang file ng excel.

Halimbawa, tingnan ang code sa ibaba.

Code:

 Sub FreeFile_Example2 () Dim Path Bilang String Dim FileNumber As Integer Path = "D: \ Mga Artikulo \ 2019 \ File 1.txt" FileNumber = FreeFile Open Path Para sa Output Bilang FileNumber Close FileNumber Path = "D: \ Mga Artikulo \ 2019 \ File 2 .txt "FileNumber = FreeFile Open Path Para sa Output Bilang FileNumber Close FileNumber End Sub 

Ngayon ay muli kong ipatutupad ang linya ng code sa pamamagitan ng linya sa pamamagitan ng pagpindot sa F8 key.

Sinasabi nito ang 1 tulad ng dati.

Ngayon ay sususulong ako sa susunod na antas.

Kahit na sa pangalawang pagtatangka ay sinasabi nito ang 1.

Ang dahilan para dito ay dahil ginamit namin ang Close file statement FreeFile kinikilala ang bagong bukas na file bilang sariwa at binabalik ang numero ng integer bilang 1.