VBA GetOpenFilename | Cum se folosește metoda GetOpenFilename în VBA?

GetOpenFilename este o metodă care este, de asemenea, un atribut al FSO, această metodă este utilizată în VBA pentru a găsi un anumit fișier cu un nume de fișier și a-l selecta, factorul important în această metodă este calea numelui fișierului furnizat pentru a-l deschide, poate trece calea numelui fișierului în funcție sau putem cere utilizatorului să prezinte o cale fișier pentru a o selecta.

Aplicație Excel VBA.GetOpenFilename

Există situații în care trebuie să accesăm numele fișierului specific și acest lucru poate fi posibil cu codificarea VBA. Pentru a accesa fișierul, trebuie să menționăm și calea folderului și numele fișierului împreună cu extensia acestuia. Pentru a obține numele fișierului, mulți codificatori vor da caseta de intrare VBA ca opțiuni pentru a introduce calea și numele fișierului. Dar aceasta nu este o opțiune bună de practicat, deoarece atunci când prezentați o casetă de intrare în fața utilizatorului, aceștia nu își amintesc întotdeauna calea fișierului, barele oblice pentru a separa un dosar de alt dosar, numele fișierelor și extensia fișierelor . Acest lucru face ca intrarea dată de utilizator să fie mai dezordonată și, la final, totul va fi înșelat, chiar dacă există o mică greșeală de caracter spațial. Cel mai bun mod este să înlocuiți caseta de intrare cu metoda VBA numită „GetOpenFileName”.

În acest articol, vă vom arăta cum să utilizați VBA GetOpenFileName pentru a obține numele fișierului fără erori.

Ce face GetOpenFilename în Excel VBA?

VBA „GetOpenFileName” permite utilizatorului să selecteze fișierul de pe computerul la care lucrăm fără a deschide fișierul.

Cu ajutorul metodei „GetOpenFileName”, putem prezenta o casetă de dialog în fața utilizatorului pentru a selecta fișierul din folderul dorit. „GetOpenFileName” va copia locația fișierului împreună cu numele fișierului și extensia fișierului.

Sintaxa GetOpenFilename în Excel VBA

Aruncați o privire la sintaxa metodei „GetOpenFilename”.

  • Filtru de fișiere: În acest argument, putem specifica ce fel de fișiere să fie afișate pentru a selecta. De exemplu, dacă menționați „Fișiere Excel, *. Xlsx” va afișa numai fișiere Excel salvate cu extensia excel „xlsx”, nu vor fi afișate alte fișiere. Dacă ignorați tot felul de fișiere vor fi afișate.
  • Filtrare index: Cu aceasta, restricționăm utilizatorul să selecteze tipul de fișier. Putem specifica lista numărului de filtre care vor fi vizibile în Filtru fișiere.
  • Titlu: arată titlul casetei de dialog selectare fișier.
  • Text buton: Acesta este doar pentru Macintosh.
  • Selectare multiplă: ADEVĂRAT dacă doriți să selectați mai multe fișiere sau altfel FALS. Valoarea implicită este FALSĂ.

Exemplu de GetOpenFilename în Excel VBA

Mai jos sunt exemplele VBA Application.GetOpenFilename.

Puteți descărca acest șablon Excel VBA GetOpenFilename aici - Șablon Excel VBA GetOpenFilename

Să scriem un cod pentru a obține numele fișierului și adresa căii.

Pasul 1: Porniți subrutina.

Cod:

 Sub GetFile_Example1 () End Sub 

Pasul 2: declarați o variabilă ca Șir.

Cod:

 Sub GetFile_Example1 () Dim File Name As String End Sub 

Pasul 3: Pentru această variabilă, vom atribui numele GetOpenFileName.

Cod:

 Sub GetFile_Example1 () Dim FileName as String FileName = Application.GetOpenFilename () End Sub 

De acum, am ignorat toți parametrii.

Pasul 4: Afișați acum rezultatul variabilei în caseta de mesaj.

Cod:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Acum rulați codul prin tasta de comandă rapidă excel F5 sau manual, acesta va afișa caseta de dialog de mai jos pentru a selecta fișierul.

Voi selecta orice fișier și voi da clic pe OK.

De îndată ce am selectat fișierul, am primit o casetă de mesaj în VBA ca aceasta. Afișează calea completă a folderului și numele fișierului Excel selectat împreună cu extensia de fișier.

După cum putem vedea în imaginea de mai sus, am putut vedea tot felul de fișiere. Acum voi adăuga primul parametru, adică Filtru fișiere ca „Fișiere Excel, *. Xlsx”.

Cod:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename (FileFilter: = "Excel Files, *. Xlsx") MsgBox FileName End Sub 

Acum, dacă rulez acest cod folosind tasta F5 sau manual, voi vedea doar fișiere Excel cu extensia „xlsx”.

Astfel, putem folosi metoda „VBA Application.GetOpenFileName” pentru a obține calea folderului împreună cu numele fișierului și extensia fișierului.