VBA GetOpenFilename

GetOpenFilename är en metod som också är ett attribut för FSO, den här metoden används i VBA för att hitta en viss fil med ett filnamn och välja den, den viktiga faktorn i denna metod är sökvägen till filnamnet som tillhandahålls för att öppna den, vi kan antingen skicka sökvägen till filnamnet i funktionen eller så kan vi be användaren att presentera en filsökväg för att välja den.

Excel VBA Application.GetOpenFilename

Det finns situationer där vi behöver komma åt det specifika filnamnet och detta kan vara möjligt med VBA-kodning. För att komma åt filen måste vi nämna mappvägen samt filnamn tillsammans med dess filtillägg. För att få filnamnet kommer många kodare att ge VBA-inmatningsrutan som alternativ för att ange filsökvägen och filnamnet. Men det här är inte ett bra alternativ att öva, för när du presenterar en inmatningsruta framför användaren kommer de inte alltid ihåg filsökvägen, snedstreck för att separera en mapp från en annan mapp, filnamn och filtillägg . Detta gör att ingången från användaren blir mer rörlig och i slutet kommer allt att skruvas upp även om det finns ett litet mellanteckenfel. Det bästa sättet är att ersätta inmatningsrutan med VBA: s metod som heter ”GetOpenFileName”.

I den här artikeln visar vi dig hur du använder VBA GetOpenFileName för att få filnamnet utan några fel.

Vad gör GetOpenFilename i Excel VBA?

VBA “GetOpenFileName” tillåter användaren att välja filen från den dator vi arbetar med utan att öppna filen.

Med hjälp av metoden “GetOpenFileName” kan vi faktiskt presentera en dialogruta framför användaren för att välja filen i önskad mapp. “GetOpenFileName” kopierar filplatsen tillsammans med filnamn och filtillägg.

Syntax för GetOpenFilename i Excel VBA

Ta en titt på syntaxen för metoden “GetOpenFilename”.

  • Filfilter: I det här argumentet kan vi ange vilken typ av filer som ska visas. Om du till exempel nämner "Excel-filer, *. Xlsx" visas endast Excel-filer som sparats med excel-tillägget "xlsx", inga andra filer visas. Om du ignorerar alla typer av filer visas.
  • Filterindex: Med detta begränsar vi användaren att välja filtyp. Vi kan lista ange antalet filter som ska visas under Filfilter.
  • Titel: Den visar den valda filens dialogruta.
  • Knapptext: Detta är endast för Macintosh.
  • Multi-Select: SANT om du vill välja flera filer eller annars FALSE. Standardvärdet är FALSE.

Exempel på GetOpenFilename i Excel VBA

Nedan följer exemplen på VBA Application.GetOpenFilename.

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

Låt oss skriva en kod för att få filnamnet och sökadressen.

Steg 1: Starta subrutinen.

Koda:

 Sub GetFile_Example1 () Avsluta Sub 

Steg 2: Förklara en variabel som sträng.

Koda:

 Sub GetFile_Example1 () Dim filnamn som strängens slut sub 

Steg 3: För den här variabeln tilldelar vi GetOpenFileName.

Koda:

 Sub GetFile_Example1 () Dim filnamn som sträng FileName = Application.GetOpenFilename () End Sub 

Från och med nu har jag ignorerat alla parametrar.

Steg 4: Visa nu resultatet av variabeln i meddelandefältet.

Koda:

 Sub GetFile_Example1 () Dim filnamn som sträng FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Kör nu koden genom excel-genvägen F5 eller manuellt, den visar nedanstående dialogruta för att välja filen.

Jag väljer en fil och klickar på ok.

Så snart jag väljer filen fick jag en meddelandefält i VBA så här. Den visar hela mappvägen och det valda excel-filnamnet tillsammans med filtillägget.

Som vi kan se i ovanstående bild kunde vi se alla typer av filer. Nu ska jag lägga till den första parametern, dvs filfiltret som “Excel-filer, *.

Koda:

 Sub GetFile_Example1 () Dim filnamn som sträng FileName = Application.GetOpenFilename (FileFilter: = "Excel Files, *. Xlsx") MsgBox FileName End Sub 

Om jag nu kör den här koden med F5-tangenten eller manuellt, ser jag bara Excel-filer med tillägget "xlsx".

Så här kan vi använda metoden "VBA Application.GetOpenFileName" för att få mappsökvägen tillsammans med filnamn och filtillägg.