VBA Open Bestand Dialoogvenster

Met VBA kunt u een bestand kiezen om te openen met behulp van de Toepassing.GetOpenFilename methode. In deze zelfstudie leert u hoe u een bestandsdialoogvenster opent en parameters instelt.

Als u wilt leren hoe u een bestand opent en sluit, kunt u op deze link klikken: VBA Bestand openen/sluiten

Open een bestandsdialoogvenster in VBA

Als u een bestand in VBA wilt openen, moet u eerst een bestandsdialoogvenster openen om een ​​bestand te kiezen. Hier is de code:

123 Dim strFile As StringstrFile = Application.GetOpenFilename(FileFilter:="Excel-bestanden (*.xlsx*), *.xlsx*", Title:="Kies een Excel-bestand om te openen", MultiSelect:=True)

Zoals u kunt zien, heeft de methode verschillende parameters. Bestandsfilter stelt u in staat om bestandstypen te filteren die u nodig heeft, in ons geval .xlsx-bestanden.

In de Titel parameter, kunt u een titel van het dialoogvenster instellen. Als u het openen van meerdere bestanden wilt toestaan, moet u instellen MeerdereSelecteren naar Waar. Als u deze parameter niet instelt, kan er slechts één bestand worden geselecteerd.

Afbeelding 1. Open een bestandsdialoogvenster

Zoals je kunt zien in Afbeelding 1, verschijnt het dialoogvenster met de titel Kies een Excel-bestand. Alleen Excel-bestanden worden gefilterd en we kunnen meerdere bestanden selecteren.

Open een bestandsdialoogvenster in een specifieke map

Als u een dialoogvenster in een specifieke map wilt openen, moet u de methode gebruiken: .Bestandsdialoogvenster met de parameter msoFileDialogFilePicker. In het voorbeeld openen we een dialoogvenster in de map C:\VBA-map. Hier is de code:

123456789101112131415161718192021 Dim fd As Office.FileDialogDim strFile As StringStel fd = Application.FileDialog (msoFileDialogFilePicker) inmet fd.Filters.Wissen.Filters.Toevoegen "Excel-bestanden", "*.xlsx?", 1.Title = "Kies een Excel-bestand".AllowMultiSelect = False.InitialFileName = "C:\VBA-map"Als .Toon = Waar DanstrFile = .SelectedItems(1)Stop alsEindigt met

Eerst moet je de variabele declareren fd type Office.FileDialog en de stringvariabele voor het nemen van bestanden:

12 Dim fd As Office.FileDialogDim strFile As String

Hierna moet u instellen: fd tot Application.FileDialog (msoFileDialogFilePicker):

1 Stel fd = Application.FileDialog (msoFileDialogFilePicker) in

Nu, binnen Met fd Eindig met, we kunnen meerdere parameters instellen:

1234567 .Filters.Wissen.Filters.Toevoegen "Excel-bestanden", "*.xlsx?", 1.Title = "Kies een Excel-bestand".AllowMultiSelect = False

Hier wissen we de bestandsfilters (.Filters.Wissen) en stel het in op .xlsx (.Filters.Add “Excel Files”, “*.xlsx?”, 1).

We kunnen ook de titel van het dialoogvenster instellen: .Title = “Kies een Excel-bestand”.

We kunnen een gebruiker beperken om slechts één bestand te selecteren door: .AllowMultiSelect = False

Om een ​​dialoogvenster in de gewenste map te openen, moeten we deze regel van de code plaatsen:

1 .InitialFileName = "C:\VBA-map"

Aan het einde zullen we gewoon het dialoogvenster openen met alle eerder ingestelde parameters:

12345 Als .Toon = Waar DanstrFile = .SelectedItems(1)Stop als

Wanneer we deze code uitvoeren, verschijnt het dialoogvenster voor het openen van bestanden in de map C:\VBA-map:

Afbeelding 2. Open een bestandsdialoogvenster in een specifieke map

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave