Portada Crear carpetas con Visual Basic

Crear carpetas automáticas con Visual Basic

En el mundo de los negocios, es crucial organizar archivos de una manera eficiente. Uno de los enfoques más útiles es la creación de un sistema de directorios que se ajuste automáticamente como por ejemplo fechas específicas, nombre del cliente o de la empresa. Esto es especialmente útil cuando se trabaja con archivos que deben organizarse, como registros, informes o facturas.

En esta entrada, veremos un ejemplo de automatizar la creación de directorios (comúnmente llamados carpetas) en función de la fecha utilizando Visual Basic (VB). Vamos a explorar cómo con solo unas líneas de código, podemos crear carpetas automáticas con Visual Basic organizadas por año y mes, facilitando la gestión de archivos de manera eficiente y ordenada. Además, aprenderás a manejar las funciones de fecha en VB y cómo estructurar tus directorios según las necesidades de tu proyecto

Si buscas una manera rápida y práctica de organizar tus archivos en función de la fecha, este tutorial es para ti. ¡Empecemos!

Crea una carpeta con Excel

Primero vamos con un ejemplo en el que vamos a crear una carpeta en una ruta específica que nos va a servir para introducir el tema en cuestión.

'
'Crear carpetas automáticas con Visual Basic
'
Sub ejemploCreacionCarpeta ()
  'Declaramos las variables necesarias
  Dim ruta as String
  Dim nombreCarpeta as String
  
  'Aquí añadimos la ruta donde queremos que se cree nuestra carpeta
  ruta="C:\Users\[resto de la ruta]\"
  'Aquí le damos el nombre a nuestra carpeta
  nombreCarpeta="nombre de la carpeta" 
  
  
  'Creamos la lógica que crea las carpetas
  If Dir(ruta & nombreCarpeta, vbDirectory) = "" then 
  'Si el directorio se encuentra vacío creamos la carpeta
    MkDir ruta & nombreCarpeta
  Else
  'De lo contrario nos saltará un mensaje en pantalla
    MsgBox "Ya existe una carpeta en esa ruta"
  End If
End Sub

De esta forma podemos crear una carpeta con el nombre que queramos en el directorio que queramos.

Crear carpetas automáticas con Visual Basic

Hecha esta breve introducción, ahora vamos a ver el código que es capaz de crear carpetas automáticas con Visual Basic, en función en nuestro caso del año en el que estamos y del mes, algo que es increíblemente útil si queremos implementar en nuestro negocio un sistema de facturas completamente organizado por fechas de manera automática y a un solo click de ratón.

'
'Crear carpetas automáticas con Visual Basic
'
Sub ejemploCreacionCarpetas()
'Declaramos las variables necesarias
  Dim ruta as String
  Dim nombreCarpeta as String
  Dim MyDate As Date
  Dim MyMonth As String
  Dim MyYear As String
    
  'Establecemos la fecha de hoy
  MyDate = Now
    
  ' Asegurarse de que el mes tenga dos dígitos
  MyMonth = Format(Month(MyDate), "00")
  MyYear = Year(MyDate)
    
  ' Definir la ruta base
  filePath = "C:\Users\[resto de la ruta]\"
    
  ' Comprobamos si existe la carpeta con el año
  If Dir(filePath & MyYear, vbDirectory) = "" Then
      MkDir filePath & MyYear
  End If
    
  ' Comprobamos si existe la carpeta con el mes dentro del año
  If Dir(filePath & MyYear & "\" & MyMonth, vbDirectory) = "" Then
      MkDir filePath & MyYear & "\" & MyMonth
  End If
    
  'Establecemos la nueva ruta donde se van a volcar los archivos
  filePathNote = "C:\Users\[resto de la ruta]\" & "\" & MyYear & "\" & MyMonth & "\"
  
End Sub

Con este código seremos capaces de generar automáticamente un sistema de directorios, que en primera instancia comprueba si hay una carpeta con el número del año, en caso de que no exista la crea, seguidamente comprueba si dentro de la carpeta con el nombre del año, existe una carpeta con el número del mes y por último si esto no existe aún, la crea.

De esta manera y con unas cuantas líneas de código somos capaces de automatizar un sistema que por ejemplo puede organizarnos facturas en este caso por su fecha de expedición pero podemos también organizarlos en función del nombre del cliente o de la empresa para la que estemos ejerciendo un trabajo.

Ahora tan solo debemos de crear un objeto dentro de nuestro archivo Excel que cuando se haga click se ejecute el código anteriormente compartido.

Para ello en nuestra hoja de Excel, en la barra superior hacemos click en Insertar>Formas y escogemos la forma que queramos, en mi caso un rectángulo:

Insertar una figura en excel.

Una vez que tengamos esta figura en nuestra hoja, la seleccionamos con click derecho escogemos «Asignar Macro» y escogemos la macro que hemos creado previamente.

Asignar una macro a una figura para crear carpetas automáticas con Visual Basic

¡Y así de fácil es crear un sistema de directorios automáticos para organizar tus archivos! En DTV Urquiza somos expertos en desarrollar soluciones personalizadas para autónomos y PYMES. Descubre cómo podemos ayudarte a optimizar tus procesos visitando nuestra sección de servicios para empresas o contáctanos directamente para resolver cualquier duda o explorar oportunidades de colaboración.

Por último te recomiendo que nos sigas en nuestras redes sociales para no perderte ninguna novedad.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *