Excel VBA FreeFile

Kako pogosto si Excel uporabnik odprete datoteko in delate na njej? Zelo pogosto, kajne? Ponovno je mogoče avtomatizirati naloge odpiranja datoteke v Excelu s pomočjo močnega orodja VBA, ki omogoča pisanje makrov in na koncu samodejno vsa opravila, od začetka odpiranja datoteke z določene lokacije do uporabe, shranjevanja in zapiranja na isti pot. Medtem ko govorimo o avtomatizaciji postopka odpiranja in zapiranja datotek prek VBA, postane zelo pomembno, da datoteko indeksirate, da lahko sistem prepozna, katero datoteko uporabiti v času izvedbe. V VBA imamo na voljo funkcijo FreeFile, ki služi temu namenu.

Kaj je funkcija VBA FreeFile?

VBA FreeFile je funkcija, ki je razvrščena v funkcijo VBA in omogoča sistemu, da si za nemoteno kodiranje in zmanjšanje nepotrebnih napak v kodi rezervira številko za naslednjo datoteko, ki se odpre pod Voda File Vhod Output. Ko datoteko odprete prek VO datoteke VBA (vhod / izhod), postane absolutno obvezno tej datoteki dodeliti edinstveno številko, ker boste morda imeli več datotek na lokaciji, ki jo nameravate uporabiti za namen branja, pisanja in odpiranja prek svojega Koda. Kako sistem ve, katera datoteka je od vseh, ki jih želite odpreti? Funkcija VBA FreeFile identificira edinstveno številko, ki jo dodelimo datoteki, in vam omogoči odpiranje, branje ali pisanje v VBA.

Sintaksa funkcije FreeFile je spodaj:

Ta funkcija ima samo en argument RangeNumber, ki ima standardne vrednosti nič (0) in eno (1). Če določite nič, bo številka datoteke dodeljena po korakih od 1 do 255 za vsako datoteko, ki jo odprete. Če ga podate, bo za vsako datoteko, ki jo odprete, korak številke dodeljen po območju od 256 do 511. Če ni določeno nobeno območje RangeNumber, se privzeto šteje nič.

Kako uporabljati funkcijo FreeFile v Excelu VBA?

Spodaj so različni primeri uporabe funkcije FreeFile v Excelu VBA.

To predlogo VBA FreeFile Excel lahko prenesete tukaj - VBA predlogo FreeFile Excel

VBA FreeFile - primer # 1

Za uporabo funkcije FreeFile v Excelu VBA sledite spodnjim korakom.

1. korak: Odprite nov vizualni osnovni urejevalnik (VBE) s klikom na gumb Visual Basic na zavihku Developer, ki je prisoten v datoteki Excela, ali s pritiskom na gumb Alt + F11 hkrati.

2. korak: V VBE vstavite nov modul. Kliknite na gumb Vstavi . Na seznamu možnosti, ki so na voljo v Insert, izberite Module .

3. korak: Določite nov podproces, ki lahko vsebuje vaš makro.

Koda:

 Sub Primer_1 () Končni pod 

4. korak: Določite dve novi spremenljivki, file_1 in file_2 kot celo število. Ti dve spremenljivki bosta vsebovali številke, ki jih dodelimo vsaki datoteki, ki jo odpremo skozi makro.

Koda:

 Sub Primer_1 () Zatemni datoteko_1 Kot celoten dim datoteko_2 Kot celoten konec Pod 

5. korak: S pomočjo VBA FreeFile uporabite operater dodelitve, da dodelite celo število vrednosti 1 spremenljivki file_1.

Koda:

 Pod-primer_1 () Zatemnjena datoteka_1 Kot datoteka celih datotek_2 Kot datoteka celote_1 = = FreeFile End Sub 

6. korak: Zdaj uporabite stavek Open, s katerim lahko odprete datoteko v VBA.

Koda:

 Pod-primer_1 () Zatemnjena datoteka_1 Kot datoteka celih datotek_2 Kot datoteka celote_1 = = Odpri datoteko FreeFile "D: \ Pisanje vsebine Excela \ TextFile_1.txt" Za izhod kot datoteko_1 Končni pod 

Tu smo določili pot, na kateri se datoteka nahaja. Izjava For vam ponuja možnosti, na primer, kako želite odpreti datoteko (na primer kot izhod), izjava As pa določa številko datoteke, ki smo jo določili s stavkom FreeFile.

7. korak: Sledite korakom 5 in 6, da drugi datoteki dodelite novo številko s pomočjo spremenljivke file_2 in jo odprite.

Koda:

 Podpomenka_1 () Zatemnjena datoteka_1 Kot datoteka celih datotek_2 Kot datoteka celote_1 = = Odpri FreeFile "D: \ Pisanje vsebine Excela \ TextFile_1.txt" Za izhod kot datoteko_1 datoteka_2 = FreeFile Odprto "D: \ Pisanje vsebine Excela \ TextFile_2.txt" Za izhod Kot datoteka_2 Končni pod 

Korak 8: Zdaj bi radi videli številke, ki so dejansko dodeljene obema besedilnima datotekama. Vsako vrstico lahko zaženete eno za drugo s pomočjo tipke F8. Izhod pa vam ne bo viden. Niti v Excelovi datoteki niti v neposrednem oknu. Dodajte naslednji stavek MsgBox, ki pokaže sporočilo s številkami za vsako datoteko.

Koda:

 Podpomenka_1 () Zatemnjena datoteka_1 Kot datoteka celih datotek_2 Kot datoteka celote_1 = = Odpri FreeFile "D: \ Pisanje vsebine Excela \ TextFile_1.txt" Za izhod kot datoteko_1 datoteka_2 = FreeFile Odprto "D: \ Pisanje vsebine Excela \ TextFile_2.txt" Za izhod Kot file_2 MsgBox "Vrednost za datoteko_1 je:" & file_1 & Chr (13) in "Vrednost za datoteko_2 je:" & datoteka_2 Končni pod 

V tej vrstici kode bo prva vrstica sporočila vsebovala besedilo "vrednost za datoteko_1 je:" in številčna vrednost, dodeljena s funkcijo FreeFile. Chr (13) omogoča prikaz naslednje vrstice. Naslednja vrstica v polju s sporočilom se glasi »Vrednost za datoteko_2 je:« in številka, dodeljena drugi datoteki.

9. korak: Zaženite to kodo s pritiskom na gumb Run ali s pritiskom na tipko F5.

Tako funkcija FreeFile omogoča dodelitev številke datoteki, ki jo boste odprli, prebrali, zaprli prek VBA.

VBA FreeFile - primer # 2

Če zapremo datoteko, ki jo odpremo vsakič, bo nova datoteka, ki jo odpremo, vedno imela serijsko številko kot 1 vsakič, ko se odpre. Sledite spodnjim korakom in si oglejte.

1. korak: Določite nov podproces, ki lahko vsebuje vaš makro.

Koda:

 Sub Primer_2 () Končni Sub 

2. korak: Določite dve spremenljivki file_1 in file_2 kot celo število v novo opredeljenem podproceduri.

Koda:

 Pod-primer_2 () Zatemnjena datoteka_1 Kot celostna datoteka Dim_2 Kot celoten konec Pod 

Korak 3: Zdaj uporabite FreeFile, da dano datoteko dodelite številko, in Open izjavo, da odprete to datoteko na mestu, kjer jo imamo.

Koda:

 Pod-primer_2 () Zatemnjena datoteka_1 Kot datoteka celih datotek_2 Kot datoteka celote_1 = = Odpri datoteko FreeFile "D: \ Pisanje vsebine Excela \ TextFile_1.txt" Za izhod kot datoteko_1 Končni pod 

4. korak: Uporabite stavek MsgBox, da dodate sporočilo za številko prvih datotek.

Koda:

 Podpomenka_2 () Zatemnjena datoteka_1 Kot datoteka celih datotek_2 Kot datoteka celote_1 = = Odpri FreeFile "D: \ Pisanje vsebine Excela \ TextFile_1.txt" Za izhod kot datoteko_1 MsgBox "Vrednost za datoteko_1 je:" & datoteka_1 Konec pod 

5. korak: Uporabite stavek Close, da zaprete prvo datoteko, ki ste jo odprli prek VBA.

Koda:

 Podpomenka_2 () Zatemnjena datoteka_1 Kot datoteka celih datotek_2 Kot datoteka celote_1 = = Odpri FreeFile "D: \ Pisanje vsebine Excela \ TextFile_1.txt" Za izhod kot datoteko_1 MsgBox "Vrednost za datoteko_1 je:" & datoteka_1 Zapri datoteko_1 Konec pod 

6. korak: Zdaj sledite istemu postopku kot v 5. koraku, 6. koraku, 7. koraku, vendar za drugo datoteko. Vključuje dodeljevanje vrednosti spremenljivki file_2 s funkcijo FreeFile in odpiranje s pomočjo izjave Open, uporabo MsgBox za prikaz številke datoteke za drugo datoteko in končno zapiranje druge datoteke.

Koda:

 Podpomenka_2 () Zatemnjena datoteka_1 Kot datoteka celih datotek_2 Kot datoteka celote_1 = = Odpri FreeFile "D: \ Pisanje vsebine Excela \ TextFile_1.txt" Za izhod kot datoteko_1 MsgBox "Vrednost za datoteko_1 je:" & datoteka_1 Zapri datoteko_1 datoteka = = Odpri datoteko_1 "D : \ Excel Content Writing \ TextFile_2.txt "Za izhod kot datoteko_2 MsgBox" Vrednost za datoteko_2 je: "& file_2 Zapri datoteko_2 End Sub 

7. korak: Zaženite to kodo s pritiskom na gumb Run ali F5.

Prvo sporočilo predstavlja vrednost datoteke_1, ki se zdi, da je 1. Drugo polje za sporočilo predstavlja vrednost datoteke_2, ki se zdi tudi 1. Ta sprememba je tam, ker smo uporabili stavek za zapiranje datotek eno za drugo. Zaradi tega med zagonom nove datoteke vsakič, ko se stara datoteka in njena številka izgineta iz sistemskega pomnilnika in bo naslednja datoteka obravnavana kot nova datoteka s številkami, ki se začnejo od 1.

Stvari, ki jih je treba zapomniti

  • FreeFile vrne edinstveno celo število vsaki datoteki, ki jo odpremo, preberemo, zapremo skozi VO File VO.
  • FreeFile ima dve vrednosti za argument RangeNumber (neobvezno). Zero ponavadi dodeli številko med območjem od 1 do 255, ena pa dodeli številke od 256 do 511.

Priporočeni članki

To je vodnik za VBA FreeFile. Tu smo razpravljali o tem, kako funkcija FreeFile omogoča dodelitev številke datoteki, ki jo boste odprli, prebrali, zaprli prek programa Excel VBA, skupaj s praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. VBA Preverjanje datotek | Predloga Excela
  2. Naročnik VBA zunaj dosega (primeri)
  3. Funkcija GetObject v Excelu VBA
  4. Kako uporabljati obliko številk v VBA?
  5. VBA Environment

Kategorija: