Caseta de dialog Deschidere fișier VBA

VBA vă permite să alegeți un fișier pentru a deschide folosind Application.GetOpenFilename metodă. În acest tutorial, veți afla cum să deschideți un dialog de fișiere și să setați parametrii.

Dacă doriți să aflați cum să deschideți și să închideți un fișier, puteți face clic pe acest link: VBA Open / Close File

Deschideți un dialog de fișiere în VBA

Dacă doriți să deschideți un fișier în VBA, mai întâi trebuie să deschideți un dialog de fișiere pentru alegerea unui fișier. Iată codul:

123 Dim strFile As StringstrFile = Application.GetOpenFilename (FileFilter: = "Fișiere Excel (* .xlsx *), * .xlsx *", Titlu: = "Alegeți un fișier Excel pentru a fi deschis", MultiSelect: = Adevărat)

După cum puteți vedea, metoda are mai mulți parametri. FileFilter vă permite să filtrați tipurile de fișiere de care aveți nevoie, în cazul nostru fișiere .xlsx.

În Titlu parametru, puteți seta un titlu al casetei de dialog. Dacă doriți să permiteți deschiderea mai multor fișiere, trebuie să setați MultipleSelect la Adevărat. Dacă nu setați acest parametru, poate fi selectat un singur fișier.

Imagine 1. Deschideți un dialog de fișiere

După cum puteți vedea în imaginea 1, se afișează caseta de dialog cu titlul Alegeți un fișier Excel. Numai fișierele Excel sunt filtrate și putem selecta mai multe fișiere.

Deschideți o casetă de dialog Fișier într-un folder specific

Dacă doriți să deschideți o casetă de dialog într-un anumit folder, trebuie să utilizați metoda .FileDialog cu parametrul msoFileDialogFilePicker. În exemplu, vom deschide o casetă de dialog în dosar C: \ Folder VBA. Iată codul:

123456789101112131415161718192021 Dim fd Ca Office.FileDialogDim strFile As StringSetați fd = Application.FileDialog (msoFileDialogFilePicker)Cu fd.Filtre.Clar.Filtre.Adăugați „Fișiere Excel”, „* .xlsx?”, 1.Title = "Alegeți un fișier Excel".AllowMultiSelect = False.InitialFileName = "Dosar C: \ VBA"Dacă .Show = True ThenstrFile = .SelectedItems (1)End IfSe termina cu

Mai întâi trebuie să declarați variabila fd tip Office.FileDialog și variabila șir pentru preluarea fișierelor:

12 Dim fd Ca Office.FileDialogDim strFile As String

După aceasta, trebuie să setați fd la Application.FileDialog (msoFileDialogFilePicker):

1 Setați fd = Application.FileDialog (msoFileDialogFilePicker)

Acum, înăuntru Cu fd Încheie cu, putem seta mai mulți parametri:

1234567 .Filtre.Clar.Filtre.Adăugați „Fișiere Excel”, „* .xlsx?”, 1.Title = "Alegeți un fișier Excel".AllowMultiSelect = False

Aici ștergem filtrele de fișiere (.Filtre.Clar) și setați-l la .xlsx (.Filtre. Adăugați „Fișiere Excel”, „* .xlsx?”, 1).

De asemenea, putem seta titlul casetei de dialog: .Titlu = „Alegeți un fișier Excel”.

Putem limita un utilizator să selecteze un singur fișier prin:.AllowMultiSelect = False

Pentru a deschide o casetă de dialog în folderul dorit, trebuie să punem această linie a codului:

1 .InitialFileName = "Dosar C: \ VBA"

La final vom deschide doar caseta de dialog cu toți parametrii setați anterior:

12345 Dacă .Show = True ThenstrFile = .SelectedItems (1)End If

Când executăm acest cod, în folder apare caseta de dialog pentru deschiderea fișierului C: \ Folder VBA:

Imagine 2. Deschideți un dialog de fișiere într-un anumit folder

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave