Excel VBA GetOpenFileName

Er zijn veel manieren om een ​​bestand te openen. Maar er zijn ook meerdere manieren om hetzelfde bestand te openen. In VBA hebben we verschillende functies waarmee we elk bestand kunnen openen. We kunnen het bestand openen door het pad van het bestand in VBA-code te plaatsen, we kunnen dit proces zelfs opnemen. Maar de beste manier is om elk bestand in VBA te openen met behulp van de toepassing VBA GetOpenFileName . Zoals de naam al zegt, is het puur bedoeld voor het openen van elk bestand in VBA.

In andere functies of toepassingen die volgens hetzelfde principe werken, moeten we mogelijk het bestand van het bestand kopiëren door backslashes, waarbij de mapnaam en exacte spaties tussen de backslash behouden blijven. Mogelijk moeten we ook de exacte bestandsnaam invoeren, samen met de extensie die we willen openen. Maar in VBA GetOpenFileName moeten we alleen het bestand op de locatie selecteren. Het geeft het vak van waaruit we door het bestand kunnen bladeren waar het wordt bewaard en de extensie van het bestand wordt ook opgelost.

Syntaxis van GetOpenFilename in VBA

Laten we hieronder de formule voor GetOpenFilename in Excel VBA bekijken.

Hieronder vindt u het argument van de toepassing VBA GetOpenFileName.

  • FileFilter - Hierin kunnen we definiëren wat voor soort bestand we willen zien. Als we bijvoorbeeld "Excel-bestanden, *. Xlsx" noemen, dan worden alle Excel-bestanden van het .xlsx-formaat gevonden en getoond. Als we "PDF-bestanden, *. Pdf" noemen, worden alleen alle pdf-bestanden gevonden en weergegeven.
  • FilterIndex - Hiermee kunnen we een gebruiker toestaan ​​het bestandstype te selecteren. We kunnen het aantal bestanden specificeren dat we moeten tonen.
  • Titel - Het toont het geselecteerde bestand in de titel van het dialoogvenster.
  • ButtonText - Het is alleen voor MacBook-gebruikers.
  • MultiSelect - Als we meerdere bestanden selecteren, is het WAAR of anders is het ONWAAR, wat sowieso een standaardwaarde is.

Hoe een bestand te openen met GetOpenFileName in Excel VBA?

Hieronder staan ​​de verschillende voorbeelden om een ​​bestand te openen met de toepassing GetOpenFileName in excel VBA.

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

Excel VBA GetOpenFileName - Voorbeeld # 1

In dit voorbeeld zullen we zien hoe eerst een excel-bestand te openen. Volg de onderstaande stappen om GetOpenFileName in Excel VBA te gebruiken:

Stap 1: Ga naar het menu Invoegen en klik op Module om het te openen.

Stap 2: Schrijf de subcategorie van VBA Getopenfilename of kies een andere naam volgens uw keuze om Subcategorie te definiëren.

Code:

 Sub OpenFile () Einde Sub 

Stap 3: Definieer nu een variabele en geef deze een String zoals hieronder getoond. Een string kiezen omdat we de bestandsnaam zullen kiezen of selecteren.

Code:

 Sub OpenFile () Dim A Als String End Sub 

Stap 4: Nu in gedefinieerde variabele Een gebruikstoepassing zoals hieronder weergegeven.

Stap 5: zoek nu en selecteer de GetOpenFileName uit de geactiveerde lijst met applicaties zoals hieronder getoond.

Stap 6: Gebruik nu MsgBox zodat we de locatie krijgen van het bestand dat we selecteren.

Code:

 Sub OpenFile () Dim A As String A = Application.GetOpenFilename () MsgBox A End Sub 

Stap 7: compileer nu de code door op de F5-functietoets te drukken en voer deze uit door op de knop Afspelen te klikken. Blader nu door het bestand dat we willen selecteren. Hier hebben we het pad gevolgd en het Excel-bestand met de naam Testbestand geselecteerd, dat meestal in .xlsx- indeling is. Klik op Openen.

Het toont het pad van dat bestand dat we eerder hebben geselecteerd in een berichtvenster zoals hieronder getoond.

Stap 8: Nu gebruiken we per syntaxis Filefilter in de bracket van de toepassing GetOpenFilename. Zoals we weten is het bedoeld voor het kiezen van het type bestand dat we willen openen. Dus we zullen er “Excel-bestanden” voor plaatsen zoals hieronder getoond.

Code:

 Sub OpenFile () Dim A als String A = Application.GetOpenFilename (Filefilter: = "Excel Files") MsgBox A End Sub 

Stap 9: Plaats nu de extensie van het Excel-bestand dat we eerder hebben geselecteerd. Het was " .xlsx ", dus dat houden we ook in FileFilter.

Code:

 Sub OpenFile () Dim A als String A = Application.GetOpenFilename (Filefilter: = "Excel-bestanden, * .xlsx") MsgBox A End Sub 

Stap 10: Nu zullen we de volledige code opnieuw uitvoeren. In de bladermap krijgen we alleen Excel-bestanden die beschikbaar zijn in die map die we eerder hebben doorzocht.

En als we proberen een andere bestandsindeling of extensie in Excel-bestanden te zien verschijnen, worden er alleen weer Excel-bestanden weergegeven.

Excel VBA GetOpenFileName - Voorbeeld # 2

Op dezelfde manier kunnen we de bestandsnaam openen met de extensie " .pdf ". Volg de onderstaande stappen om GetOpenFileName in Excel VBA te gebruiken:

Stap 1: Schrijf nu opnieuw de code die we in voorbeeld-1 hebben gezien.

Code:

 Sub OpenFile1 () Dim A As String A = Application.GetOpenFilename () MsgBox A End Sub 

Stap 2: Het brengt ons naar hetzelfde venster of blader anders naar dezelfde map. Selecteer nu een van de PDF-bestanden en klik op Openen.

Het geeft ons het pad van het geselecteerde bestand.

Stap 3: Om het geselecteerde PDF-bestand te krijgen, schrijft u in de FileFilter-syntaxis "PDF-bestanden" in plaats van "Excel-bestanden" en selecteert u de extensie van PDF die " .pdf " is, zoals hieronder wordt weergegeven.

Code:

 Sub OpenFile1 () Dim A als String A = Application.GetOpenFilename (Filefilter: = "PDF-bestanden, * .pdf") MsgBox A End Sub 

Stap 4: compileer de code opnieuw en voer deze uit. We zullen de browsermap krijgen om de bestanden te openen. Daarin krijgen we alleen de bestanden met de extensie “ .pdf ” zoals hieronder getoond.

En als we proberen andere bestandsformaten te filteren, dan kunnen we opnieuw alleen PDF-bestanden zien zoals hieronder getoond.

En als we geen enkel bestand selecteren en het venster verlaten, geeft het een standaardbericht dat False is .

Voordelen van Excel VBA GetOpenFileName

  • VBA GetOpenFileName helpt ons om het bestand direct te openen zonder het pad van dat bestand in VBA-code te plakken.
  • We hoeven het pad van de bestanden niet meerdere keren te wijzigen.
  • Bladeren en de bestanden door dit selecteren is net zo eenvoudig als naar die map gaan om het te openen.

Nadelen van Excel VBA GetOpenFileName

  • We moeten de extensie van een bestand wijzigen dat we willen openen als daar een wijziging in is.

Dingen om te onthouden

  • Wijzig de extensie van het bestand wanneer u een andere versie van het bestand moet openen.
  • Berichtenbox met een bericht als ONWAAR is het standaardbericht dat elke keer verschijnt wanneer we geen bestand selecteren om te openen.
  • Een dergelijk proces kan niet worden gemaakt met behulp van de functie Opnamemacro.
  • Vergeet niet om het bestand op te slaan als een Excel-formaat voor macro's. Zodat de geschreven VBA-code behouden blijft.

Aanbevolen artikelen

Dit is een handleiding voor VBA GetOpenFileName. Hier bespreken we hoe u een bestand kunt openen met de toepassing GetOpenFileName in Excel met behulp van VBA-code, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA Zoeken en vervangen (voorbeelden)
  2. Groepswerkbladen in Excel
  3. VBA-werkboek
  4. Celverwijzingen in Excel

Categorie: