Como usar a función VBA DIR en Excel (7 exemplos prácticos)

  • Comparte Isto
Hugh West

A función DIR en VBA móstrache principalmente o directorio ou os ficheiros dun cartafol determinado. Tamén pode devolver o primeiro ficheiro con esta función. Esta función ten moitos usos para obter ficheiros e cartafoles específicos. Todo o que precisa para inserir a ruta do ficheiro no nome da ruta do código VBA . Pode resultarlle máis difícil usar os códigos VBA DIR . Non te preocupes, neste artigo imos mostrarche algúns exemplos para unha mellor visualización do uso da función VBA DIR . Espero que poidas usar a función despois de ler o artigo. Entón, imos comezar.

Descargar Practice Workbook

Descarga o seguinte libro de prácticas. Axudarache a comprender mellor o tema.

Función DIR.xlsm

Introdución á función DIR

Resumo:

A función VBA DIR devolve o nome dun ficheiro ou directorio desde unha ruta de cartafol determinada. Convencionalmente, devolve o primeiro ficheiro.

Sintaxe:

Dir [ (pathname, [ attributes ] ) ]

Explicación dos argumentos:

Argumento Requirido/Opcional Explicación
PathName Opcional Ruta para acceder e especificar o ficheiro
Atributos Opcional A expresión constante ou numérica especifica os atributos dos ficheiros coincidentes

Hai algúns pre-atributos definidos, son-

Nome do atributo Descrición
vbNormal Ficheiros sen atributos específicos
vbReadOnly Ficheiros de só lectura sen atributos
vbHidden Ocultos ficheiros sen atributos
vbSystem Arquivos de sistema sen atributos
vbVolume Etiqueta de volume
vbDirectory Directorios ou cartafoles sen atributos
vbAlias O nome de ficheiro especificado é un alias

7 Exemplos de uso da función VBA DIR en Excel

A partir da descrición, quizais entendese que a función VBA DIR proporciona o nome do ficheiro a partir do nome de ruta proporcionado. Entendémolo co exemplo. Aquí creamos un directorio Cartafol_Exceldemy para mostrarche varios exemplos. Neste cartafol hai diferentes cartafoles e ficheiros pequenos.

1. Atopa o nome do ficheiro na ruta

No noso cartafol, podemos atopar un ficheiro específico mediante declarando a ruta do nome do ficheiro.

Despois de copiar a ruta do ficheiro, cómpre executar o código.

Por este motivo, vaia á pestana Desenvolvedor >> escolle Visual Basic . Despois vai á pestana Inserir >> seleccione Módulo. No cadro de diálogo Xeneral escribimos o código.

Como a nosa axenda é atopar o Nome de ficheiro do nome da ruta, estableceremos onome de ruta completo (desde a raíz ata o ficheiro) e o noso código será

8859

Aquí dentro do noso código, establecemos a ruta como E:\Exceldemy\Sales_of_January. xlsx

Desglose do código:

  • Inicialmente, declaramos unha variable de cadea chamada FN . E a saída da función Dir gardouse nesta variable.
  • A continuación, a función Dir busca o nome do ficheiro e devólveo desde o camiño proporcionado.
  • Entón o MsgBox establece a saída a través da caixa de mensaxes. O MsgBox devolve a saída mediante unha caixa de mensaxe.
  • A continuación, executa o código coa tecla F5 .

Finalmente, atopamos o ficheiro denominado Sales_of_January.xlsx .

2. Comproba a existencia dun directorio

Podemos comprobar a existencia dun directorio mediante a función Dir . Escribamos o código para comprobar se existe o cartafol Exceldemy . Anote o seguinte código na caixa xeral e execútao coa tecla F5 .

6967

Desglose do código :

  • Declaramos dúas variables; PN contén a ruta completa do noso directorio de comprobación.
  • Aquí, dentro da función Dir , establecemos dous valores, o nome da ruta e o atributo valor como vbDirectory . Este valor de atributo axudará a detectar o directorio. E a saída desta función gárdase no ficheiro Ficheiro variable.
  • Entón comprobamos se a variable está baleira ou non. Se atopamos que a variable non o é, entón declare a existencia do directorio a través dunha caixa de mensaxe, se non, o retorno non existe.

Aquí, o Exceldemy existe, polo que atoparemos “ Exceldemy exists ”, onde Exceldemy é o nome do cartafol.

3. Crea un cartafol que non existe

Podes crear un cartafol que non existe no teu PC. Para iso, tes que crear un nome de ruta que non existe nos teus cartafoles. Imaxinemos que imos crear un directorio chamado Exceldemy_1 . Usaremos o comando MkDir para crear o directorio, pero antes necesitamos escribir o seguinte código VBA .

2929

Aquí escribimos un comando para crear o directorio usando o nome de ruta do bloque Else do noso código. Executa o código coa tecla F5 .

Creouse o directorio. Vexamos o cartafol do directorio. O cartafol Exceldemy_1 agora está visible no teu ordenador.

Lecturas similares:

  • Como chamar a un sub en VBA en Excel (4 exemplos)
  • Devolver un valor na función VBA (tanto en valores de matriz como de non matriz)
  • Usar a función VBA UCASE en Excel (4 exemplos)
  • Como usar a función TRIM enVBA en Excel (Definición + Código VBA)

4. Busca o primeiro ficheiro dun directorio

A tarefa principal da función Dir é para atopar o primeiro ficheiro no directorio proporcionado. Todo o que cómpre proporcionar dentro da función é o nome da ruta (ata o directorio do contedor) e devolverá o primeiro ficheiro dese directorio.

Buscamos o primeiro ficheiro do noso Directorio de Exceldemy. O noso código será

1145

Podes ver o código básico; pasamos o nome da ruta á función Dir . Agora Executar o código coa tecla F5 , atoparás o primeiro ficheiro neste directorio.

5. Buscar todo Ficheiros dun directorio

Na sección anterior, vimos como atopar o primeiro nome de ficheiro dun directorio. A situación pode xurdir cando necesites atopar todos os ficheiros dun directorio específico. Para atopar todos os ficheiros nun directorio específico, tes que escribir o seguinte código VBA .

1893

Aquí tes dúas variables para almacenar os nomes de ficheiros como un único ( FN ) e como unha lista ( FL ). O bucle Do While itera ata que non quede ningún ficheiro no directorio, usando este bucle, introducimos cada nome de ficheiro na variable FL .

Executar o código, e atoparás todos os ficheiros no directorio, como na imaxe de abaixo.

6. Busca todos os ficheiros e cartafoles dun directorio

Nósmencionamos na sección anterior onde atopar todos os ficheiros. Tamén podemos atopar todos os subcartafoles nun cartafol. Para iso, escribe o seguinte código VBA que adxuntamos a continuación.

1117

O cambio no noso código é só o uso de parámetros de atributos. Usamos o vbDirectory nese campo. Executa o código e atoparás todos os ficheiros e subcartafoles de Exceldemy_Folder .

7 . Busca todos os ficheiros dun tipo específico

Con a función VBA Dir , podemos atopar calquera tipo de ficheiro en particular. Exploremos cun exemplo.

Imos buscar ficheiros .csv do noso directorio. O noso código será como o seguinte:

4123

Esperamos que entendeses o código, que utiliza un mecanismo similar para buscar ficheiros. No nome da ruta, usamos un comodín ( * ). Este asterisco (*) indica que pode aparecer calquera carácter ata calquera número. O comodín utilizouse de tal xeito que o nome do ficheiro pode ser calquera cousa pero debe ser un ficheiro .csv .

Cando executa o código, devolverá o . csv do noso directorio Exceldemy .

Sección de práctica

Proporcionamos unha práctica sección en cada folla do lado dereito para a súa práctica. Faino por ti mesmo.

Conclusión

Isto é todo sobre a sesión de hoxe. E estes son algúns exemplos sinxelosda función VBA Dir en Excel. Por favor, avísanos na sección de comentarios se tes algunha pregunta ou suxestión. Para unha mellor comprensión, descarga a folla de prácticas. Visita o noso sitio web, Exceldemy , un provedor único de solucións de Excel, para coñecer diversos tipos de métodos de Excel. Grazas pola túa paciencia ao ler este artigo.

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.