VBA Öppna fil -dialogruta

VBA låter dig välja en fil som ska öppnas med Application.GetOpenFilename metod. I den här självstudien lär du dig hur du öppnar en dialogruta och anger parametrar.

Om du vill lära dig hur du öppnar och stänger en fil kan du klicka på den här länken: VBA Öppna/stäng fil

Öppna en fildialog i VBA

Om du vill öppna en fil i VBA måste du först öppna en dialogruta för att välja en fil. Här är koden:

123 Dim strFile As StringstrFile = Application.GetOpenFilename (FileFilter: = "Excel -filer (*.xlsx*),*.xlsx*", Titel: = "Välj en Excel -fil att öppna", MultiSelect: = True)

Som du kan se har metoden flera parametrar. FileFilter låter dig filtrera filtyper som du behöver, i vårt fall .xlsx -filer.

I Titel parameter kan du ange en titel på dialogrutan. Om du vill tillåta att flera filer öppnas måste du ställa in Välj flera till True. Om du inte ställer in denna parameter kan endast en fil väljas.

Bild 1. Öppna en dialogruta

Som du kan se i bild 1 visas dialogrutan med titeln Välj en Excel -fil. Endast Excel -filer filtreras och vi kan välja flera filer.

Öppna en dialogruta för filer i en specifik mapp

Om du vill öppna en dialogruta i en specifik mapp måste du använda metoden .FileDialog med parametern msoFileDialogFilePicker. I exemplet öppnar vi en dialogruta i mappen C: \ VBA -mapp. Här är koden:

123456789101112131415161718192021 Dim fd som Office.FileDialogDim strFile As StringAnge fd = Application.FileDialog (msoFileDialogFilePicker)Med fd.Filter.Rensa.Filters.Lägg till "Excel -filer", "*.xlsx?", 1.Title = "Välj en Excel -fil".AllowMultiSelect = Falskt.InitialFileName = "C: \ VBA -mapp"Om .Show = True DåstrFile = .SelectedItems (1)Avsluta omSluta med

Först måste du deklarera variabeln fd typ Office.FileDialog och strängvariabeln för filtagning:

12 Dim fd som Office.FileDialogDim strFile As String

Efter detta måste du ställa in fd till Application.FileDialog (msoFileDialogFilePicker):

1 Ange fd = Application.FileDialog (msoFileDialogFilePicker)

Nu, inom Med fd Sluta medkan vi ställa in flera parametrar:

1234567 .Filter.Rensa.Filters.Lägg till "Excel -filer", "*.xlsx?", 1.Title = "Välj en Excel -fil".AllowMultiSelect = Falskt

Här rensar vi filfiltren (.Filter.Rensa) och ställ in den på .xlsx (.Filters.Lägg till "Excel -filer", "*.xlsx?", 1).

Vi kan också ställa in titeln på dialogrutan: .Title = "Välj en Excel -fil".

Vi kan begränsa en användare att bara välja en fil genom att:.AllowMultiSelect = False

För att öppna en dialogruta i den mapp vi vill ha, måste vi sätta den här raden med koden:

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

I slutet öppnar vi bara dialogrutan med alla parametrar som tidigare ställts in:

12345 Om .Show = True DåstrFile = .SelectedItems (1)Avsluta om

När vi kör denna kod visas dialogrutan för filöppning i mappen C: \ VBA -mapp:

Bild 2. Öppna en dialogruta i en specifik mapp

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave