Taula de continguts
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.