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:
- msoFileDialogFilePicker : Aceasta permite utilizatorului să selecteze un fișier.
- msoFileDialogFolderPicker : Aceasta permite utilizatorului să selecteze un folder.
- msoFileDialogOpen : Aceasta permite utilizatorului să deschidă un fișier.
- 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 ExcelExcel 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 -
- Există fișiere de verificare VBA
- Rezolvați ecuația în Excel
- VBA File Delete
- Cum să imprimați etichete de la Excel?
- Exemple de scriere a codului VBA