Excel VBA FileDialog

Under arbejdet kan der være nogle scenarier, hvor vi er nødt til at åbne nogle andre projektmapper eller andre filer enten for at importere data eller for at henvise. Der er en metode til at give en sti til filen i vores kode i VBA, som åbner filen eller mappen for os. Men hvad nu hvis vi ikke kan huske stien, hvordan kan vi åbne filen. Vi bliver muligvis nødt til at søge på stien først og derefter igen give stien. VBA kommer med en løsning, der er kendt som FileDialog.

FileDialog er en egenskab i VBA, som giver os mulighed for at åbne en fil eller en mappe fra en sti. Ved at bruge denne egenskab behøver en bruger ikke at specificere mappens sti i stedet for kan brugeren vælge stien. Ikke kun dette, FileDialog har i alt fire egenskaber. De er også kendt som konstanter for denne ejendom. De er som følger:

  1. msoFileDialogFilePicker : Dette gør det muligt for brugeren at vælge en fil.
  2. msoFileDialogFolderPicker : Dette giver brugeren mulighed for at vælge en mappe.
  3. msoFileDialogOpen : Dette gør det muligt for brugeren at åbne en fil.
  4. msoFileDialogSaveAs: Dette gør det muligt for brugeren at gemme en fil.

Metoden til at bruge dette objekt i VBA er som følger.

Application.FIledialog (Filedialog Type)

FileDialog-typen kan være en af ​​de ovennævnte fire typer. Lad os nu bruge dette objekt i eksempler til at lære mere om denne egenskabsejendom.

Sådan bruges Excel VBA FileDialog?

Nedenfor er de forskellige eksempler til brug af FileDialog i Excel ved hjælp af VBA-kode.

Du kan downloade denne VBA FileDialog Excel-skabelon her - VBA FileDialog Excel-skabelon

Excel VBA FileDialog - eksempel # 1

Lad os først hjælpe brugeren med at vælge en fil fra en destination. I dette eksempel vælger brugeren en fil fra mappen, og vi viser stien for den valgte fil.

Følg nedenstående trin for at bruge Excel VBA FileDialog:

Trin 1: Gå til fanen Udviklere og klik på Visual Basic.

Trin 2: Åbn et modul fra menuen Indsæt som vist nedenfor.

Trin 3: Start delproceduren for at begynde at arbejde på et eksempel.

Kode:

 Sub SelectFile () End Sub 

Trin 4: Angiv en variabel som Filedialog som vist nedenfor.

Kode:

 Sub SelectFile () Dim File As FileDialog End Sub 

Trin 5: Lad os nu bruge dette objekt fra metoden Application.Filedialog som følger.

Trin 6: Når vi har åbnet parentesen, kan vi se muligheden for fire FileDialog-typer som vist på billedet herunder.

Trin 7: Vælg indstillingen Filedialog-type som msoFileDialogFilePicker

Kode:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) End Sub 

Trin 8: Nu skal vi oprette dialogboksen til dette eksempel, lad os bruge Med erklæring som følger.

Kode:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) Med File End With End Sub 

Trin 9: Hvis der er nogle filtre, vi har brug for at rydde filtre, skal du sætte en dot-sætning og skrive sætningen som vist nedenfor.

Kode:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) Med File .Filters.Clear End With End Sub 

Trin 10: Vil vi nu, at brugeren skal vælge flere filer på én gang eller en enkelt fil? For dette eksempel lad os holde os med den enkelte fil ad gangen, så brug .Allowmultiselect som falske.

Kode:

 Sub SelectFile () Dim File As FileDialog Sæt fil = Application.FileDialog (msoFileDialogFilePicker) Med fil .Filters.Clear .AllowMultiSelect = Falsk ende med slut Sub 

Trin 11: Nu for at vise dialogboksen kan vi skrive .show for at vise dialogboksen som følger.

Kode:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False. Show End With End Sub 

Trin 12: Når vi har udført ovenstående kode, kan vi se dialogboksen som følger.

Trin 13: Da vi er nødt til at vise den valgte brugersti, erklær en anden variabel som en streng i koden.

Kode:

 Sub SelectFile () Dim File As FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False. Show End With End Sub 

Trin 14: Vi bruger en valgt emneseddel til at finde stien for den valgte filbruger og gemme den i vores variabel som følger.

Kode:

 Sub SelectFile () Dim File As FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False. Show Path = .SelectedItems (1) End With End Sub 

Trin 15: Efter Med-erklæringen skal du bruge msgbox-funktionen til at få vist adressen på den valgte fil.

Kode:

 Sub SelectFile () Dim File As FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False. Show Path = .SelectedItems (1) End With MsgBox Path End Sub 

Trin 16: Lad os køre ovenstående kode og vælge en fil og trykke på ok for at se stien som følger.

Excel VBA FileDialog - eksempel # 2

Lad os nu se en anden mulighed for VBA FileDialog-objektet, der er msoFileDialogSaveAs. Denne egenskab bruges til at gemme en fil på en hvilken som helst sti. Følg nedenstående trin for at bruge Excel VBA FileDialog.

Trin 1: Lad os i det samme modul skrive en anden underprocedure for at gemme filen som følger.

Kode:

 Sub SaveFile () End Sub 

Trin 2: Deklar nu to variabler, den ene som en streng, mens den anden er et heltal.

Kode:

 Sub SaveFile () Dim Choice Som heltal, Sti som streng End Sub 

Trin 3: Lad os nu gøre dialogboksen synlig for brugeren ved hjælp af show-egenskaben som følger.

Kode:

 Sub SaveFile () Dim Choice Som heltal, Sti som String Choice = Application.FileDialog (msoFileDialogSaveAs). Show End Sub 

Trin 4: Brug nu IF-sætning til at bestemme brugerens valg som følger.

Kode:

 Sub SaveFile () Dim Choice Som heltal, Sti som strengvalg = Application.FileDialog (msoFileDialogSaveAs). Vis hvis valg 0 Afslut derefter Sub 

Trin 5: Lad os nu vælge den sti, som brugeren har valgt i vores sti-variabel som følger.

Kode:

 Sub SaveFile () Dim Choice Som heltal, Sti som String Choice = Application.FileDialog (msoFileDialogSaveAs) .Vis hvis valg 0 Derefter Sti = Application.FileDialog (msoFileDialogSaveAs) .ValgetItems (1) End Sub 

Trin 6: Lad os nu vise resultatet ved hjælp af funktionen msgbox og afslutte IF Loop.

Kode:

 Sub SaveFile () Dim Choice Som heltal, Sti som strengvalg = Application.FileDialog (msoFileDialogSaveAs). Vis hvis valg 0 Derefter Sti = Application.FileDialog (msoFileDialogSaveAs) .ValgtItems (1) MsgBox Path End Hvis End Sub 

Trin 7: Udfør nu ovenstående kode og se resultatet, det åbner en dialogboks for at gemme filen.

Trin 8: Giv et filnavn og tryk på Gem det giver os stien til filen som følger.

Ting at huske

  • FileDialog er en objektegenskab for VBA.
  • Vi behøver ikke at specificere stien til kode ved hjælp af dette objekt.
  • Ved hjælp af dot-operatoren kan vi se og bruge objektets IntelliSense-egenskaber.

Anbefalede artikler

Dette er en guide til VBA FileDialog. Her diskuterer vi, hvordan man bruger FileDialog-objekt i Excel ved hjælp af VBA-kode sammen med nogle praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA-kontrolfil findes
  2. Løs ligning i Excel
  3. VBA Slet fil
  4. Sådan udskrives etiketter fra Excel?
  5. Eksempler på skrivning af VBA-kode

Kategori: