Excel VBA FreeFile

Hur ofta som Excel-användare öppnar du en fil och arbetar på samma? Mycket ofta, eller hur? Det är återigen möjligt att automatisera uppgifterna att öppna filen i Excel med hjälp av ett kraftfullt verktyg VBA som låter dig skriva makron och i slutändan automatisera alla uppgifter från att öppna en fil från en given plats för att använda, spara och stänga den på samma väg. När man talar om att automatisera processen för filöppning och stängning genom VBA blir det mycket viktigt att indexera filen så att systemet kan identifiera vilken fil som ska användas vid genomförandet. Vi har en funktion inom VBA med namnet FreeFile som tjänar detta syfte.

Vad är VBA FreeFile-funktion?

VBA FreeFile är en funktion som kategoriseras under VBA-funktion som gör att systemet kan reservera ett nummer för nästa fil som ska öppnas under VBA File Input Output för en smidig kodupplevelse och minska onödiga buggar i din kod. När du öppnar en fil genom VBA-fil IO (Input / Output) blir det absolut obligatoriskt att tilldela ett unikt nummer till den filen eftersom du kan ha flera filer på den plats du ska använda för att läsa, skriva och öppna ändamål genom din koda. Hur vet systemet vilken fil av alla de du vill öppna? Funktionen VBA FreeFile identifierar det unika numret vi tilldelar filen och gör det tillgängligt för dig att öppna, läsa eller skriva i VBA.

Syntaxen för FreeFile-funktionen är som nedan:

Denna funktion tar bara ett argument RangeNumber som har standardvärdena som noll (0) och ett (1). Om du anger noll tilldelas filnumret genom intervallet med siffrorna 1 till 255 stegvis för varje fil du öppnar. Om du anger ett, kommer filnumret att tilldelas stegvis 256 till 511 för varje fil du öppnar. Om ingen RangeNumber specificeras kommer noll att betraktas som standard.

Hur använder jag FreeFile-funktionen i Excel VBA?

Nedan är de olika exemplen att använda FreeFile-funktionen i Excel VBA.

Du kan ladda ner denna VBA FreeFile Excel-mall här - VBA FreeFile Excel-mall

VBA FreeFile - Exempel # 1

Följ stegen nedan för att använda FreeFile-funktionen i Excel VBA.

Steg 1: Öppna en ny Visual Basic Editor (VBE) genom att klicka på Visual Basic- knappen under fliken Developer i din Excel-fil eller genom att slå Alt + F11- knappen samtidigt.

Steg 2: Sätt i en ny modul i VBE. Klicka på knappen Infoga . Välj modul i listan över tillgängliga alternativ i Infoga.

Steg 3: Definiera en ny delprocedur som kan innehålla din makro.

Koda:

 Subexempel_1 () Avsluta sub 

Steg 4: Definiera två nya variabler, fil_1 och fil_2 som ett heltal. Dessa två variabler kommer att innehålla de siffror vi tilldelar varje fil vi öppnar genom makroen.

Koda:

 Subexempel_1 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal slut-sub 

Steg 5: Använd tilldelningsoperatören för att tilldela heltal 1 till filen_1 variabel med hjälp av VBA FreeFile.

Koda:

 Subexempel_1 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal-fil_1 = FreeFile End Sub 

Steg 6: Använd nu Open- satsen som kan användas för att öppna en fil i VBA.

Koda:

 Subexempel_1 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal-fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" För utgång som fil_1 Slut sub 

Här har vi angett sökvägen som filen ligger på. För uttalandet ger dig alternativ som hur du vill öppna filen (för ex. Som en utgång) och As-sats anger det filnummer som vi har angett med FreeFile-uttalandet.

Steg 7: Följ steg 5 och steg 6 för att tilldela ett nytt nummer till den andra filen genom variabeln fil_2 och öppna den.

Koda:

 Subexempel_1 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal-fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" För Output As file_1 file_2 = FreeFile Open "D: \ Excel Content Writing \ TextFile_2.txt" För Output Som file_2 End Sub 

Steg 8: Nu skulle vi vilja se numren som faktiskt tilldelas båda textfilerna. Du kan köra varje rad en och en med hjälp av F8-tangenten. Utgången kommer dock inte att vara synlig för dig. Varken i Excel-fil eller i omedelbart fönster. Lägg till följande MsgBox- uttalande som visar en meddelanderuta med siffrorna för varje fil.

Koda:

 Subexempel_1 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal-fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" För Output As file_1 file_2 = FreeFile Open "D: \ Excel Content Writing \ TextFile_2.txt" För Output Eftersom file_2 MsgBox är "Value for file_1:" & file_1 & Chr (13) & "Value for file_2 is:" & file_2 End Sub 

I den här kodraden kommer den första raden i meddelanderutan att innehålla texten "värde för fil_1 är:" och det numeriska värdet som tilldelats med FreeFile-funktionen. Chr (13) låter nästa rad visas. Nästa rad i meddelandelådan kommer att läsa "Value for file_2 is:" och numret tilldelat den andra filen.

Steg 9: Kör den här koden genom att trycka på Kör-knappen eller genom att trycka på F5-tangenten.

Så här låter FreeFile-funktionen tilldela numret till filen du ska öppna, läsa, stänga genom VBA.

VBA FreeFile - Exempel # 2

Om vi ​​stänger filen vi öppnar varje gång, kommer den nya filen vi öppnar alltid att ha ett serienummer som 1 varje gång den öppnas. Följ stegen nedan för att se det igenom.

Steg 1: Definiera en ny delprocedur som kan innehålla din makro.

Koda:

 Sub Exempel_2 () Slut Sub 

Steg 2: Definiera två variabler fil_1 och fil_2 som ett heltal i den nyligen definierade delproceduren.

Koda:

 Subexempel_2 () Dim-fil_1 Som heltal Dim-fil_2 som heltalsled Sub 

Steg 3: Använd nu FreeFile för att tilldela ett nummer till den givna filen och Open statement för att öppna den filen genom den plats där vi har den.

Koda:

 Subexempel_2 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal-fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" För utgång som fil_1 Slut sub 

Steg 4: Använd ett MsgBox-uttalande för att lägga till en meddelanderuta för antalet första filer.

Koda:

 Subexempel_2 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal-fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" För utgång som fil_1 MsgBox "Värde för fil_1 är:" & file_1 Slut sub 

Steg 5: Använd en stängning för att stänga den första filen du öppnade via VBA.

Koda:

 Subexempel_2 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal-fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" För utgång som fil_1 MsgBox "Värde för fil_1 är:" & file_1 Stäng fil_1 Slut sub 

Steg 6: Följ nu samma procedur som i steg 5, steg 6, steg 7 men för den andra filen. Det inkluderar tilldelning av värde till variabeln file_2 med FreeFile-funktionen och öppning med hjälp av Open-sats, med MsgBox för att visa filnumret för den andra filen och slutligen stänga den andra filen.

Koda:

 Subexempel_2 () Dim-fil_1 Som heltal Dim-fil_2 Som heltal-fil_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" För Output As file_1 MsgBox "Värde för fil_1 är:" & file_1 Stäng fil_1 file_2 = FreeFile Open "D : \ Excel Content Writing \ TextFile_2.txt "För utgång som fil_2 MsgBox" Värde för fil_2 är: "& fil_2 Stäng fil_2 Slut sub 

Steg 7: Kör den här koden genom att trycka på Run-knappen eller F5.

Den första meddelanderutan representerar värdet på fil_1 som verkar vara 1. Det andra meddelanderutan representerar värdet på fil_2 som också verkar vara 1. Den här ändringen är där eftersom vi har använt stängningssatsen för att stänga filerna en i taget. Därför kommer den gamla filen och dess nummer att försvinna från systemminnet och nästa fil kommer att betraktas som en ny fil med nummer från 1 när du initierar en ny fil.

Saker att komma ihåg

  • FreeFile returnerar ett unikt heltal till varje fil vi öppnar, läser, stänger genom VBA File IO.
  • FreeFile har två värden för argument RangeNumber (vilket är valfritt). Noll tilldelar vanligtvis numret mellan intervallet 1 till 255 och en tilldelar siffrorna från 256 till 511.

Rekommenderade artiklar

Detta är en guide till VBA FreeFile. Här diskuterar vi hur FreeFile-funktionen tillåter dig att tilldela numret till den fil du ska öppna, läsa, stänga genom Excel VBA tillsammans med praktiska exempel och nedladdningsbara Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA-kontrollfil finns | Excel-mall
  2. VBA-abonnemang utanför räckvidden (exempel)
  3. GetObject-funktion i Excel VBA
  4. Hur använder man nummerformat i VBA?
  5. VBA Environ

Kategori: