VBA GetOpenFilename | Sådan bruges GetOpenFilename-metoden i VBA?

GetOpenFilename er en metode, der også er en attribut for FSO, denne metode bruges i VBA til at finde en bestemt fil med et filnavn og vælge den, den vigtige faktor i denne metode er stien til filnavnet, der er angivet for at åbne det, vi kan enten passere stien til filnavnet i funktionen, eller vi kan bede brugeren om at præsentere en filsti for at vælge den.

Excel VBA Application.GetOpenFilename

Der er situationer, hvor vi har brug for adgang til det specifikke filnavn, og dette kan være muligt med VBA-kodning. For at få adgang til filen skal vi også nævne mappestien og filnavnet sammen med dens filtypenavn. For at få filnavnet vil mange kodere give VBA-inputfelt som muligheder for at indtaste filstien og filnavnet. Men dette er ikke en god mulighed at øve på, for når du præsenterer et inputfelt foran brugeren, kan de ikke altid huske filstien, tilbageslag for at adskille en mappe fra en anden mappe, filnavne og udvidelse af filerne . Dette gør inputet fra brugeren mere rodet, og i slutningen vil alt blive skruet op, selvom der er en lille mellemrumstegnfejl. Den bedste måde er at erstatte inputboksen med VBA's metode kaldet “GetOpenFileName”.

I denne artikel viser vi dig, hvordan du bruger VBA GetOpenFileName til at få filnavnet uden nogen fejl.

Hvad gør GetOpenFilename i Excel VBA?

VBA “GetOpenFileName” giver brugeren mulighed for at vælge filen fra den computer, vi arbejder på uden at åbne filen.

Ved hjælp af "GetOpenFileName" -metoden kan vi faktisk præsentere en dialogboks foran brugeren for at vælge filen i den ønskede mappe. “GetOpenFileName” kopierer filplaceringen sammen med filnavn og filtypenavn.

Syntaks for GetOpenFilename i Excel VBA

Se på syntaksen for "GetOpenFilename" -metoden.

  • Filfilter: I dette argument kan vi specificere, hvilken type filer der skal vises. Hvis du f.eks. Nævner "Excel Files, *. Xlsx", vises kun Excel-filer gemt med excel-udvidelsen "xlsx", ingen andre filer vises. Hvis du ignorerer, vises alle slags filer.
  • Filterindeks: Med dette begrænser vi brugeren til at vælge filtypen. Vi kan liste angive antallet af filtre, der skal vises under Filfilter.
  • Titel: Den viser den valgte fildialogboksens titel.
  • Knappetekst: Dette er kun til Macintosh.
  • Multi-Select: SAND, hvis du vil vælge flere filer eller ellers FALSE. Standardværdien er FALSK.

Eksempel på GetOpenFilename i Excel VBA

Nedenfor er eksemplerne på VBA Application.GetOpenFilename.

Du kan downloade denne VBA GetOpenFilename Excel-skabelon her - VBA GetOpenFilename Excel-skabelon

Lad os skrive en kode for at få filnavnet og sti-adressen.

Trin 1: Start subrutinen.

Kode:

 Sub GetFile_Example1 () Afslut Sub 

Trin 2: Erklær en variabel som streng.

Kode:

 Sub GetFile_Example1 () Dim filnavn som streng-slut-sub 

Trin 3: For denne variabel tildeler vi GetOpenFileName.

Kode:

 Sub GetFile_Example1 () Dim filnavn som streng Filnavn = Application.GetOpenFilename () Afslut sub 

Fra nu af har jeg ignoreret alle parametre.

Trin 4: Vis nu resultatet af variablen i meddelelsesboksen.

Kode:

 Sub GetFile_Example1 () Dim filnavn som streng FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Kør nu koden gennem excel-genvejstasten F5 eller manuelt, den viser nedenstående dialogboks for at vælge filen.

Jeg vælger en fil og klikker på ok.

Så snart jeg vælger filen, fik jeg en meddelelsesboks i VBA som denne. Det viser den fulde mappesti og det valgte excel-filnavn sammen med filtypen.

Som vi kan se i ovenstående billede kunne vi se alle slags filer. Nu vil jeg tilføje den første parameter, dvs. filfilter som "Excel-filer, *. Xlsx".

Kode:

 Sub GetFile_Example1 () Dim filnavn som streng FileName = Application.GetOpenFilename (FileFilter: = "Excel Files, *. Xlsx") MsgBox FileName End Sub 

Hvis jeg nu kører denne kode ved hjælp af F5-nøglen eller manuelt, vil jeg kun se Excel-filer med udvidelsen “xlsx”.

På denne måde kan vi bruge metoden “VBA Application.GetOpenFileName” til at få mappestien sammen med filnavn og filudvidelse.