Excel VBA FileDialog

În timp ce lucrăm, pot exista anumite scenarii în care trebuie să deschidem alte cărți de lucru sau orice alte fișiere, fie pentru a importa date, fie pentru a lua o referință. Există o metodă de a oferi o cale a fișierului în codul nostru în VBA, care va deschide fișierul sau folderul pentru noi. Dar dacă nu ne amintim calea cum putem deschide fișierul. S-ar putea să fie necesar să căutăm mai întâi calea și apoi să furnizăm din nou calea. VBA vine cu o soluție cunoscută sub numele de FileDialog.

FileDialog este o proprietate din VBA care ne permite să deschidem un fișier sau un folder dintr-o cale. Utilizând această proprietate, un utilizator nu trebuie să specifice calea dosarului, în timp ce utilizatorul poate selecta calea. Nu numai acest lucru, FileDialog are un total de patru proprietăți. Ele sunt, de asemenea, cunoscute ca constante pentru această proprietate. Acestea sunt următoarele:

  1. msoFileDialogFilePicker : Aceasta permite utilizatorului să selecteze un fișier.
  2. msoFileDialogFolderPicker : Aceasta permite utilizatorului să selecteze un folder.
  3. msoFileDialogOpen : Aceasta permite utilizatorului să deschidă un fișier.
  4. msoFileDialogSaveAs: Aceasta permite utilizatorului să salveze un fișier.

Metoda de utilizare a acestui obiect în VBA este următoarea.

Application.FIledialog (tip Filedialog)

Tipul FileDialog poate fi oricare dintre cele patru tipuri de mai sus. Acum să folosim acest obiect în exemple pentru a afla mai clar despre proprietatea obiectului.

Cum se utilizează Excel VBA FileDialog?

Mai jos sunt prezentate diferite exemple pentru a utiliza FileDialog în Excel folosind codul VBA.

Puteți descărca acest șablon VBA FileDialog Excel aici - șablonul VBA FileDialog Excel

Excel VBA FileDialog - Exemplul # 1

Mai întâi, să ajutăm utilizatorul să selecteze un fișier dintr-o destinație. În acest exemplu, utilizatorul va selecta un fișier din folder și vom afișa calea pentru fișierul selectat.

Urmați pașii de mai jos pentru a utiliza Excel VBA FileDialog:

Pasul 1: accesați fila Dezvoltatori și faceți clic pe Visual Basic.

Pasul 2: Deschideți un modul din opțiunea de meniu Insert, așa cum se arată mai jos.

Pasul 3: Începeți subprocedura pentru a începe să lucrați la exemplu.

Cod:

 Sub SelectFile () End Sub 

Pasul 4: Declarați o variabilă ca Filedialog așa cum se arată mai jos.

Cod:

 Sub SelectFile () Dim File ca FileDialog End Sub 

Pasul 5: Să folosim acum acest obiect din metoda Application.Filedialog după cum urmează.

Pasul 6: odată ce deschidem paranteza, putem vedea opțiunea pentru patru tipuri FileDialog așa cum se arată în imaginea de mai jos.

Pasul 7: Selectați opțiunea de tip Filedialog ca msoFileDialogFilePicker

Cod:

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

Pasul 8: Acum trebuie să facem caseta de dialog pentru acest exemplu, să folosim With Statement după cum urmează.

Cod:

 Sub SelectFile () Dim File Fișier FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) Cu fișierul final cu Sub 

Pasul 9: Dacă există filtre, trebuie să ștergem filtrele, puneți o instrucțiune punct și scrieți instrucțiunea așa cum se arată mai jos.

Cod:

 Sub SelectFile () Dim File Fișier FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) cu File .Filters.Clear End with Sub Sub 

Pasul 10: Vrem acum ca utilizatorul să selecteze mai multe fișiere simultan sau un singur fișier? Pentru acest exemplu, să rămânem cu un singur fișier la un moment dat, așa că folosiți .Allowmultiselect ca fals.

Cod:

 Sub SelectFile () Dim File ca FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) cu File .Filters.Clear .AllowMultiSelect = False End with End Sub 

Pasul 11: Acum pentru a afișa caseta de dialog putem scrie .show pentru a arăta caseta de dialog după cum urmează.

Cod:

 Sub SelectFile () Dim File ca FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) cu File .Filters.Clear .AllowMultiSelect = False .Show End with End Sub 

Pasul 12: Odată ce executăm codul de mai sus, putem vedea caseta de dialog după cum urmează.

Pasul 13: Deoarece trebuie să afișăm calea de utilizator selectată, declaram o altă variabilă ca șir în cod.

Cod:

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

Pasul 14: Vom folosi o instrucțiune selectatem pentru a găsi calea pentru utilizatorul de fișier selectat și să o stocăm în variabila noastră după cum urmează.

Cod:

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

Pasul 15: După declarația With, folosiți funcția msgbox pentru a afișa adresa fișierului selectat.

Cod:

 Sub SelectFile () Dim File ca FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) cu File .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) Se încheie cu MsgBox Path End Submat. 

Pasul 16: Să executăm codul de mai sus și să selectăm un fișier și apăsați ok pentru a vedea calea după cum urmează.

Excel VBA FileDialog - Exemplul # 2

Să vedem acum o altă opțiune a obiectului VBA FileDialog care este msoFileDialogSaveAs. Această proprietate este folosită pentru a salva un fișier pe orice cale. Urmați pașii de mai jos pentru a utiliza Excel VBA FileDialog.

Pasul 1: În același modul, să scriem o altă procedură secundară pentru a salva fișierul după cum urmează.

Cod:

 Sub SaveFile () End Sub 

Pasul 2: Acum declarați două variabile una ca șir, iar alta ca un număr întreg.

Cod:

 Sub SaveFile () Dim Choice ca număr întreg, Path As String Sub Sub 

Pasul 3: Acum să facem că caseta de dialog este vizibilă utilizatorului folosind proprietatea show după cum urmează.

Cod:

 Sub SaveFile () Dim Choice ca număr întreg, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show End Sub 

Pasul 4: Utilizați acum instrucțiunea IF pentru a determina alegerea utilizatorului după cum urmează.

Cod:

 Sub SaveFile () Dim Choice ca număr întreg, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs). Show If Choice 0 Atunci End Sub 

Pasul 5: Haideți acum să obținem calea selectată de utilizator în variabila noastră de cale, după cum urmează.

Cod:

 Sub SaveFile () Dim Choice ca număr întreg, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 Atunci Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) End Subems 

Pasul 6: Acum să afișăm rezultatul folosind funcția msgbox și să încheiem bucla IF.

Cod:

 Sub SaveFile () Dim Choice ca număr întreg, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 Atunci Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) MsgBox Path End If End Sub 

Pasul 7: Acum executați codul de mai sus și vedeți rezultatul, se deschide o casetă de dialog pentru salvarea fișierului.

Pasul 8: Dați un nume de fișier și apăsați Salvare ne va oferi Calea pentru fișier după cum urmează.

Lucruri de amintit

  • FileDialog este o proprietate obiect a VBA.
  • Nu este necesar să specificăm calea către cod folosind acest obiect.
  • Folosind operatorul de puncte putem vedea și folosi proprietățile IntelliSense ale obiectului.

Articole recomandate

Acesta este un ghid pentru VBA FileDialog. Aici vom discuta despre cum să folosiți obiectul FileDialog în Excel folosind codul VBA, împreună cu câteva exemple practice și șablonul excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Există fișiere de verificare VBA
  2. Rezolvați ecuația în Excel
  3. VBA File Delete
  4. Cum să imprimați etichete de la Excel?
  5. Exemple de scriere a codului VBA

Categorie: