Com utilitzar la funció VBA DIR a Excel (7 exemples pràctics)

  • Comparteix Això
Hugh West

La funció DIR de VBA us mostra principalment el directori o els fitxers d'una carpeta determinada. També pot retornar el primer fitxer amb aquesta funció. Aquesta funció té molts usos per obtenir fitxers i carpetes específics. Tot el que necessiteu només cal inserir la ruta del fitxer al nom del camí del codi VBA . Pot ser que us resulti més difícil utilitzar els codis VBA DIR . No us preocupeu, en aquest article us mostrarem alguns exemples per a una millor visualització per utilitzar la funció VBA DIR . Espero que pugueu utilitzar la funció després de llegir l'article. Per tant, comencem.

Baixeu el quadern de pràctiques

Descarregueu el quadern de pràctiques següent. Us ajudarà a entendre millor el tema.

Funció DIR.xlsm

Introducció a la funció DIR

Resum:

La funció VBA DIR retorna el nom d'un fitxer o directori des d'una ruta de carpeta determinada. Convencionalment, retorna el primer fitxer.

Sintaxi:

Dir [ (pathname, [ attributes ] ) ]

Arguments Explicació:

Argument Obligatori/Opcional Explicació
PathName Opcional Path per accedir i especificar el fitxer
Atributs Opcional L'expressió numèrica o constant especifica els atributs dels fitxers coincidents

Hi ha uns quants pre-atributs definits, són-

Nom de l'atribut Descripció
vbNormal Fitxers sense atributs específics
vbReadOnly Fitxers de només lectura sense atributs
vbHidden Ocult fitxers sense atributs
vbSystem Fitxers de sistema sense atributs
vbVolume Etiqueta de volum
vbDirectory Directoris o carpetes sense atributs
vbAlias El nom de fitxer especificat és un àlies

7 exemples d'ús de la funció VBA DIR a Excel

A partir de la descripció, potser haureu entès que la funció VBA DIR proporciona el nom de fitxer a partir del nom de ruta proporcionat. Entenem-ho amb l'exemple. Aquí hem creat un directori Carpeta_Exceldemy per mostrar-vos diversos exemples. Hi ha diferents carpetes i fitxers petits en aquesta carpeta.

1. Cerqueu el nom del fitxer des del camí

A la nostra carpeta, podem trobar un fitxer específic mitjançant declarant el camí del nom del fitxer.

Després de copiar el camí del fitxer, heu d'executar el codi.

Per aquest motiu, aneu a la pestanya Desenvolupador >> trieu Visual Basic . A continuació, aneu a la pestanya Insereix >> seleccioneu Mòdul. Al quadre de diàleg General , escrivim el codi.

Com que la nostra agenda és trobar el Filename del nom del camí, establirem elcamí complet (des de l'arrel fins al fitxer) i el nostre codi serà

3269

Aquí, dins del nostre codi, hem establert el nom de ruta com a E:\Exceldemy\Sales_of_January. xlsx

Desglossament del codi:

  • Inicialment, vam declarar una variable de cadena anomenada FN . I la sortida de la funció Dir s'ha desat en aquesta variable.
  • A continuació, la funció Dir cerca el nom del fitxer i el retorna des del camí proporcionat.
  • A continuació, el MsgBox estableix la sortida a través del quadre de missatge. El MsgBox retorna la sortida mitjançant un quadre de missatge.
  • A continuació, executeu el codi amb la tecla F5 .

Finalment, hem trobat el fitxer anomenat Sales_of_January.xlsx .

2. Comprovar l'existència d'un directori

Podem comprovar l'existència d'un directori mitjançant la funció Dir . Escrivim el codi per comprovar si la carpeta Exceldemy existeix. Anoteu el codi següent al quadre general i executeu-lo amb la tecla F5 .

2316

Desglossament del codi :

  • Hem declarat dues variables; PN conté el nom del camí complet del nostre directori de comprovació.
  • Aquí, dins de la funció Dir , hem establert dos valors, el nom del camí i l'atribut valor com a vbDirectory . Aquest valor d'atribut ajudarà a detectar el directori. I la sortida d'aquesta funció s'emmagatzema al fitxer Fitxer variable.
  • Després vam comprovar si la variable està buida o no. Si trobem que la variable no ho és, declarem l'existència del directori a través d'un quadre de missatge, en cas contrari, el retorn no existeix.

Aquí, el Exceldemy<21 El directori> existeix, així que trobarem “ Exceldemy exists ”, on Exceldemy és el nom de la carpeta.

3. Crea una carpeta que no existeix

Pots crear una carpeta que no existeix al teu ordinador. Per a això, heu de crear un nom de camí que no existeix a les vostres carpetes. Imaginem que anem a crear un directori anomenat Exceldemy_1 . Utilitzarem l'ordre MkDir per crear el directori, però abans d'això, haurem d'escriure el següent codi VBA .

1677

Aquí hem escrit una ordre per crear el directori utilitzant el nom de ruta del bloc Else del nostre codi. Executeu el codi amb la tecla F5 .

S'ha creat el directori. Mirem la carpeta del directori. La carpeta Exceldemy_1 és ara visible al vostre ordinador.

Lectures similars:

  • Com trucar a un sub en VBA a Excel (4 exemples)
  • Retornar un valor a la funció VBA (tant valors de matriu com de no matriu)
  • Utilitzar la funció VBA UCASE a Excel (4 exemples)
  • Com utilitzar la funció TRIM aVBA a Excel (definició + codi VBA)

4. Cerqueu el primer fitxer d'un directori

La tasca principal de la funció Dir és per trobar el primer fitxer al directori proporcionat. Tot el que heu de proporcionar dins de la funció és el nom del camí (fins al directori del contenidor) i retornarà el primer fitxer d'aquest directori.

Trobem el primer fitxer del nostre Directori Exceldemy. El nostre codi serà

8879

Podeu veure el codi bàsic; hem passat el nom del camí a la funció Dir . Ara Executeu el codi amb la tecla F5 , trobareu el primer fitxer en aquest directori.

5. Cerca-ho tot Fitxers d'un directori

A la secció anterior, hem vist com trobar el primer nom de fitxer d'un directori. La situació pot sorgir quan necessiteu trobar tots els fitxers d'un directori específic. Per trobar tots els fitxers d'un directori específic, heu d'escriure el següent codi VBA .

3467

Aquí hi ha dues variables per emmagatzemar els noms de fitxer com a un sol ( FN ) i com a llista ( FL ). El bucle Do While itera fins que no quedi cap fitxer al directori, utilitzant aquest bucle, introduïm cada nom de fitxer a la variable FL .

Executeu el codi, i trobareu tots els fitxers al directori, com a la imatge següent.

6. Cerqueu tots els fitxers i carpetes d'un directori

Nosaltreshem esmentat a la secció anterior on trobar tots els fitxers. També podem trobar totes les subcarpetes en una carpeta. Per fer-ho, escriviu el codi VBA següent que us hem adjuntat a continuació.

4099

El canvi al nostre codi és només l'ús de paràmetres d'atribut. Hem utilitzat vbDirectory en aquest camp. Executeu el codi i trobareu tots els fitxers i subcarpetes de Exceldemy_Folder .

7 . Cerqueu tots els fitxers d'un tipus específic

Usant la funció VBA Dir , podem trobar qualsevol tipus de fitxer concret. Explorem amb un exemple.

Trobarem fitxers .csv al nostre directori. El nostre codi serà com el següent:

4000

Esperem que hàgiu entès el codi, que utilitza un mecanisme similar per trobar fitxers. Al nom del camí, hem utilitzat un comodí ( * ). Aquest asterisc (*) indica que pot aparèixer qualsevol caràcter fins a qualsevol nombre. El comodí s'ha utilitzat de tal manera que el nom del fitxer pot ser qualsevol, però ha de ser un fitxer .csv .

Quan executeu el codi, retornarà el . csv del nostre directori Exceldemy .

Secció de pràctiques

Hem proporcionat una pràctica secció a cada full del costat dret per a la vostra pràctica. Fes-ho tu mateix.

Conclusió

Això és tot sobre la sessió d'avui. I aquests són alguns exemples fàcilsde la funció VBA Dir a Excel. Feu-nos-ho saber a la secció de comentaris si teniu cap pregunta o suggeriment. Per a una millor comprensió, descarregueu el full de pràctiques. Visiteu el nostre lloc web, Exceldemy , un proveïdor únic de solucions d'Excel, per obtenir informació sobre diversos tipus de mètodes d'Excel. Gràcies per la vostra paciència en llegir aquest article.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.