VBA giver dig mulighed for at vælge en fil, der skal åbnes ved hjælp af Application.GetOpenFilename metode. I denne vejledning lærer du, hvordan du åbner en fildialog og indstiller parametre.
Hvis du vil lære at åbne og lukke en fil, kan du klikke på dette link: VBA Open/Close File
Åbn en fildialog i VBA
Hvis du vil åbne en fil i VBA, skal du først åbne en fildialog for at vælge en fil. Her er koden:
123 | Dim strFile Som strengstrFile = Application.GetOpenFilename ( |
Som du kan se, har metoden flere parametre. FileFilter giver dig mulighed for at filtrere de filtyper, du har brug for, i vores tilfælde .xlsx -filer.
I Titel parameter, kan du angive en titel på dialogboksen. Hvis du vil tillade åbning af flere filer, skal du indstille Vælg flere til True. Hvis du ikke angiver denne parameter, kan der kun vælges en fil.
Billede 1. Åbn en fil -dialog
Som du kan se i billede 1, vises dialogboksen med titlen Vælg en Excel -fil. Kun Excel -filer filtreres, og vi kan vælge flere filer.
Åbn en dialogboks for filer i en bestemt mappe
Hvis du vil åbne en dialogboks i en bestemt mappe, skal du bruge metoden .FileDialog med parameteren msoFileDialogFilePicker. I eksemplet åbner vi en dialogboks i mappen C: \ VBA -mappe. Her er koden:
123456789101112131415161718192021 | Dim fd som Office.FileDialogDim strFile Som strengIndstil fd = Application.FileDialog (msoFileDialogFilePicker)Med fd.Filtre.Klar.Filters.Tilføj "Excel -filer", "*.xlsx?", 1.Title = "Vælg en Excel -fil".AllowMultiSelect = Falsk.InitialFileName = "C: \ VBA -mappe"Hvis .Show = True derefterstrFile = .SelectedItems (1)Afslut HvisAfslut med |
Først skal du deklarere variablen fd type Office.FileDialog og strengvariablen til filoptagelse:
12 | Dim fd som Office.FileDialogDim strFile Som streng |
Efter dette skal du indstille fd til Application.FileDialog (msoFileDialogFilePicker):
1 | Indstil fd = Application.FileDialog (msoFileDialogFilePicker) |
Nu indenfor Med fd Slut med, kan vi indstille flere parametre:
1234567 | .Filtre.Klar.Filters.Tilføj "Excel -filer", "*.xlsx?", 1.Title = "Vælg en Excel -fil".AllowMultiSelect = Falsk |
Her rydder vi filfiltrene (.Filtre.Klar) og indstil den til .xlsx (.Filters.Tilføj "Excel -filer", "*.xlsx?", 1).
Vi kan også indstille titlen på dialogboksen: .Title = "Vælg en Excel -fil".
Vi kan begrænse en bruger til kun at vælge en fil ved at:.TilladMultiSelect = Falsk
For at åbne en dialogboks i den mappe, vi ønsker, skal vi sætte denne linje med koden:
1 | .InitialFileName = "C: \ VBA -mappe" |
I slutningen åbner vi bare dialogboksen med alle de tidligere indstillede parametre:
12345 | Hvis .Show = True derefterstrFile = .SelectedItems (1)Afslut Hvis |
Når vi udfører denne kode, vises dialogboksen til filåbning i mappen C: \ VBA -mappe:
Billede 2. Åbn en dialogboks i en bestemt mappe