VBA GetOpenFilename

GetOpenFilename is een methode die ook een attribuut is van FSO, deze methode wordt gebruikt in VBA om een ​​bepaald bestand met een bestandsnaam te vinden en te selecteren, de belangrijkste factor bij deze methode is het pad van de bestandsnaam die is opgegeven om het te openen, we kunnen het pad van de bestandsnaam in de functie doorgeven of we kunnen de gebruiker vragen om een ​​bestandspad te presenteren om het te selecteren.

Excel VBA-applicatie.GetOpenFilename

Er zijn situaties waarin we toegang moeten hebben tot de specifieke bestandsnaam en dit kan mogelijk zijn met VBA-codering. Om toegang te krijgen tot het bestand, moeten we ook het mappad en de bestandsnaam vermelden, samen met de bestandsextensie. Om de bestandsnaam te krijgen, zullen veel codeerders een VBA-invoervak ​​geven als de opties om het bestandspad en de bestandsnaam in te voeren. Maar dit is geen goede optie om te oefenen, want wanneer u een invoerveld voor de gebruiker presenteert, onthouden ze niet altijd het bestandspad, backslashes om de ene map van een andere map te scheiden, bestandsnamen en extensie van de bestanden . Dit maakt de invoer van de gebruiker rommeliger en aan het einde wordt alles verknoeid, zelfs als er een kleine fout is gemaakt met een spatie. De beste manier is om het invoerveld te vervangen door de VBA-methode genaamd "GetOpenFileName".

In dit artikel laten we u zien hoe u VBA GetOpenFileName gebruikt om de bestandsnaam zonder fouten te krijgen.

Wat doet GetOpenFilename in Excel VBA?

Met VBA “GetOpenFileName” kan de gebruiker het bestand selecteren op de computer waaraan we werken zonder het bestand te openen.

Met behulp van de “GetOpenFileName” -methode kunnen we daadwerkelijk een dialoogvenster voor de gebruiker presenteren om het bestand in de vereiste map te selecteren. "GetOpenFileName" zal de bestandslocatie samen met de bestandsnaam en bestandsextensie kopiëren.

Syntaxis van GetOpenFilename in Excel VBA

Bekijk de syntaxis van de "GetOpenFilename" -methode.

  • Bestandsfilter: in dit argument kunnen we specificeren wat voor soort bestanden moeten worden weergegeven om te selecteren. Als u bijvoorbeeld "Excel-bestanden, *. Xlsx" vermeldt, worden alleen Excel-bestanden weergegeven die zijn opgeslagen met de excel-extensie "xlsx". Er worden geen andere bestanden weergegeven. Als u negeert, worden alle soorten bestanden weergegeven.
  • Filterindex: hiermee beperken we de gebruiker om het bestandstype te selecteren. We kunnen het aantal filters specificeren dat zichtbaar moet zijn onder Bestandsfilter.
  • Titel: Het toont de titel van het dialoogvenster voor het selecteren van een bestand.
  • Knoptekst: dit is alleen voor Macintosh.
  • Multi-Select: TRUE als u meerdere bestanden wilt selecteren of anders FALSE. De standaardwaarde is FALSE.

Voorbeeld van GetOpenFilename in Excel VBA

Hieronder staan ​​de voorbeelden van VBA Application.GetOpenFilename.

U kunt deze VBA GetOpenFilename Excel-sjabloon hier downloaden - VBA GetOpenFilename Excel-sjabloon

Laten we een code schrijven om de bestandsnaam en het padadres te krijgen.

Stap 1: Start de subroutine.

Code:

 Sub GetFile_Example1 () End Sub 

Stap 2: Declareer een variabele als String.

Code:

 Sub GetFile_Example1 () Dim FileName As String End Sub 

Stap 3: Voor deze variabele zullen we de GetOpenFileName toewijzen.

Code:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () End Sub 

Vanaf nu heb ik alle parameters genegeerd.

Stap 4: Toon nu het resultaat van de variabele in het berichtvenster.

Code:

 Sub GetFile_Example1 () Dim Bestandsnaam As String Bestandsnaam = Toepassing.GetOpenFilename () MsgBox Bestandsnaam End Sub 

Voer nu de code uit via de Excel-sneltoets F5 of handmatig, het zal het onderstaande dialoogvenster tonen om het bestand te selecteren.

Ik zal een willekeurig bestand selecteren en op ok klikken.

Zodra ik het bestand selecteer, kreeg ik een berichtvenster in VBA zoals dit. Het toont het volledige mappad en de geselecteerde Excel-bestandsnaam samen met de bestandsextensie.

Zoals we in de bovenstaande afbeelding kunnen zien, kunnen we allerlei soorten bestanden zien. Nu zal ik de eerste parameter, dwz Bestandsfilter, toevoegen als "Excel-bestanden, *. Xlsx".

Code:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename (FileFilter: = "Excel-bestanden, *. Xlsx") MsgBox Bestandsnaam End Sub 

Als ik deze code nu met de F5-toets of handmatig uitvoer, zie ik alleen Excel-bestanden met de extensie "xlsx".

Op deze manier kunnen we de "VBA Application.GetOpenFileName" -methode gebruiken om het mappad samen met de bestandsnaam en de extensie van het bestand op te halen.