Excel VBA FileDialog

Mens du jobber kan det være noen scenarier der vi må åpne noen andre arbeidsbøker eller andre filer, enten for å importere data eller for å ta en referanse. Det er en metode for å gi en sti til filen i koden vår i VBA som vil åpne filen eller mappen for oss. Men hva hvis vi ikke husker banen, hvordan kan vi åpne filen. Vi må kanskje søke på banen først og deretter igjen gi banen. VBA kommer med en løsning som er kjent som FileDialog.

FileDialog er en eiendom i VBA som lar oss åpne en fil eller en mappe fra en bane. Ved å bruke denne egenskapen trenger ikke en bruker å spesifisere mappenes vei i stedet for at brukeren kan velge banen. Ikke bare dette, FileDialog har totalt fire egenskaper. De er også kjent som konstanter for denne eiendommen. De er som følger:

  1. msoFileDialogFilePicker : Dette lar brukeren velge en fil.
  2. msoFileDialogFolderPicker : Dette lar brukeren velge en mappe.
  3. msoFileDialogOpen : Dette lar brukeren åpne en fil.
  4. msoFileDialogSaveAs: Dette lar brukeren lagre en fil.

Metoden for å bruke dette objektet i VBA er som følger.

Application.FIledialog (Filedialog Type)

FileDialog-typen kan være en av de ovennevnte fire typene. La oss nå bruke dette objektet i eksempler for å lære mer om denne objektegenskapen.

Hvordan bruke Excel VBA FileDialog?

Nedenfor er de forskjellige eksemplene du kan bruke FileDialog i Excel ved å bruke VBA-kode.

Du kan laste ned denne VBA FileDialog Excel Mal her - VBA FileDialog Excel Mal

Excel VBA FileDialog - eksempel # 1

La oss først hjelpe brukeren med å velge en fil fra en destinasjon. I dette eksemplet vil brukeren velge en fil fra mappen, og vi vil vise banen for den valgte filen.

Følg trinnene nedenfor for å bruke Excel VBA FileDialog:

Trinn 1: Gå til kategorien Utviklere og klikk på Visual Basic.

Trinn 2: Åpne en modul fra Sett inn menyalternativet som vist nedenfor.

Trinn 3: Start delprosessen for å begynne å jobbe med eksempel.

Kode:

 Sub SelectFile () Slutt Sub 

Trinn 4: Angi en variabel som Filedialog som vist nedenfor.

Kode:

 Sub SelectFile () Dim File As FileDialog End Sub 

Trinn 5: La oss nå bruke dette objektet fra Application.Filedialog-metoden som følger.

Trinn 6: Når vi har åpnet parentesen, kan vi se alternativet for fire FileDialog-typer som vist på bildet nedenfor.

Trinn 7: Velg alternativet Filedialog-type som msoFileDialogFilePicker

Kode:

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

Trinn 8: Nå må vi lage dialogboksen for dette eksempelet, la oss bruke Med uttalelse som følger.

Kode:

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

Trinn 9: Hvis det er noen filtre vi trenger for å tømme filtrene, må du sette en prikk-setning og skrive setningen som vist nedenfor.

Kode:

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

Trinn 10: Nå vil vi at brukeren skal velge flere filer samtidig eller en enkelt fil? For dette eksempelet, la oss holde oss til den enkelte filen om gangen, så bruk .Allowmultiselect som falsk.

Kode:

 Sub SelectFile () Dim File As FileDialog Sett fil = Application.FileDialog (msoFileDialogFilePicker) Med fil .Filters.Clear .AllowMultiSelect = Falske slutt med slutt-sub 

Trinn 11: Nå for å vise dialogboksen kan vi skrive .show for å 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 

Trinn 12: Når vi har utført koden ovenfor, kan vi se dialogboksen som følger.

Trinn 13: Siden vi må vise den valgte brukerbanen, erklærer du en annen 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 

Trinn 14: Vi vil bruke en valgt uttalelse for å finne banen til filbrukeren som er valgt og lagre den i variabelen vår 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 

Trinn 15: Etter With Statement bruker du msgbox-funksjonen til å vise adressen til den valgte filen.

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 

Trinn 16: La oss utføre koden ovenfor og velg en fil og trykk ok for å se banen som følger.

Excel VBA FileDialog - eksempel # 2

La oss nå se et annet alternativ til VBA FileDialog-objektet som er msoFileDialogSaveAs. Denne egenskapen brukes til å lagre en fil på hvilken som helst bane. Følg trinnene nedenfor for å bruke Excel VBA FileDialog.

Trinn 1: I den samme modulen, la oss skrive en annen underprosedyre for å lagre filen som følger.

Kode:

 Sub SaveFile () Slutt Sub 

Trinn 2: Nå erklærer to variabler en som streng, mens en annen som et heltall.

Kode:

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

Trinn 3: La oss nå gjøre dialogboksen synlig for brukeren ved å bruke show-egenskapen som følger.

Kode:

 Sub SaveFile () Dim Choice Som heltall, Sti som String Choice = Application.FileDialog (msoFileDialogSaveAs). Vis slutten Sub 

Trinn 4: Bruk nå IF-setningen til å bestemme valg av bruker som følger.

Kode:

 Sub SaveFile () Dim Choice Som heltall, Sti som String Choice = Application.FileDialog (msoFileDialogSaveAs) .Vis hvis valg 0 Slutt deretter Sub 

Trinn 5: La oss nå få banen valgt av brukeren i banen variabelen som følger.

Kode:

 Sub SaveFile () Dim Choice Som heltall, Sti som String Choice = Application.FileDialog (msoFileDialogSaveAs) .Vis hvis valg 0 Så Sti = Application.FileDialog (msoFileDialogSaveAs) .VelgendeItemer (1) Slutt sub 

Trinn 6: La oss nå vise resultatet ved hjelp av msgbox-funksjonen og avslutte IF Loop.

Kode:

 Sub SaveFile () Dim Choice Som Heltall, Sti Som String Choice = Application.FileDialog (msoFileDialogSaveAs) .Vis Hvis Choice 0 Så Sti = Application.FileDialog (msoFileDialogSaveAs) .VelgendeItemer (1) MsgBox Sti Slutt Hvis Slutt Sub 

Trinn 7: Utfør koden ovenfor og se resultatet, den åpner en dialogboks for å lagre filen.

Trinn 8: Gi et filnavn og trykk Lagre, det vil gi oss banen til filen på følgende måte.

Ting å huske

  • FileDialog er en objektegenskap for VBA.
  • Vi trenger ikke å spesifisere banen til kode ved bruk av dette objektet.
  • Ved å bruke punktoperatøren kan vi se og bruke IntelliSense-egenskapene til objektet.

Anbefalte artikler

Dette er en guide til VBA FileDialog. Her diskuterer vi hvordan du bruker FileDialog-objekt i Excel ved å bruke VBA-kode sammen med noen praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA-sjekkfil eksisterer
  2. Løs ligning i Excel
  3. VBA Delete File
  4. Hvordan skrive ut etiketter fra Excel?
  5. Eksempler på å skrive VBA-kode

Kategori: