Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función MKDIR

| 5 comentarios

Existen muchas maneras tradicionales para crear una carpeta en la ubicación que el usuario decida, pero en esta oportunidad se explicará cómo hacerlo utilizando una función que nos brinda el Editor de VBA, la cual es la Función MKDIR.

Descripción

La Función MKDIR permite crear un directorio o carpeta, el cual facilitará algunas acciones cuando uno programe al crear una Macros.

Sintaxis

La función que se debe insertar en el editor de VBA debe ser como la siguiente:

MkDir (Path As String)

Para ello, antes de digitar el nombre de la carpeta a crear, es necesario que la variable Path sea definida como String.

Por ejemplo:

Dim Path as String

Observaciones

  • Previamente al uso de esta función, se debe recordar cómo definir adecuadamente los parámetros a utilizar, ya que si no se respeta dicha definición inicial, la Macros creada no funcionará.
  • Si el nombre de la carpeta que se desea crear ya existe, la Macros emitirá un mensaje de error, por lo que se debe revisar previamente que no existe dicho nombre.

Ejemplo

Creación de la macro

  1. Crear el Sub CrearCarpeta()
  2. Definir las variables a utilizar.
    1. Dim Path as String
    2. Dim NombreCarpeta as String.
  3. Asignar el valor a la variable Path y NombreCarpeta.
  4. Definir la función MkDir con los parámetros adecuados.
  5. Utilizar el MsgBox para mostrar el mensaje de creación de la Macros.

A continuación se muestra la imagen de la Macros creada.

MKDIR

(Para mayor visualización de la imagen, hacer click en la misma)

Uso de la Macro

Luego de dicha programación, la Macros creada realizará los siguientes pasos:

  1. Ubicará la dirección que se muestra en el Path.
  2. Solicitará el nombre de la carpeta que se quiere crear.
  3. Creará la carpeta en la ubicación indicada.
  4. Mostrará un mensaje que la carpeta fue creada con éxito.

Si desean utilizar el presente ejemplo, pueden descargar el archivo en la siguiente dirección:

Ejemplo de MKDIR

 

Por: Luis André Gómez Aliaga

5 comentarios

  1. Función muy interesante para creación de carpetas.

    Me pregunto si puede usarse de manera conjunta con un actualizador de Fecha, para que sean los archivos creados del día.

  2. Hola amigo,

    Como puedo hacerle para mostrar un mensaje de error cuando alguien no escriba nada en el MessageBox?

    Espero me puedas ayudar,

    Gracias.

  3. Eso es todo lo que necesitaba!!, gracias

  4. Buenos días.
    Con Office 2013 a mi me funciona perfectamente lo siguiente:

    Sub creaCarpeta()
    On Error GoTo Errores

    Dim carpeta As String
    carpeta = "J:\2019\nombrenuevacarpeta"

    If Len(Dir(carpeta, vbDirectory)) = 0 Then
    MkDir carpeta
    End If

    Salida:
    Exit Sub
    Errores:
    MsgBox("Se ha producido un error...")
    Resume Salida
    End Sub

    Si en lugar de la letra de unidad, en este caso J:\, pongo un nombre de recurso compartido no funciona. ¿Se puede hacer algo para que funcione con dicho nombre de recurso compartido?

    Ejemplo:
    MkDir "J:\2019\nombrenuevacarpeta" ' Funciona
    MkDir "nombre_recurso_compartido\2019\nombrenuevacarpeta" ' No funciona

  5. Hola buenas.

    Yo tengo un listado de expedientes que se va ampliando y desearía poder crear una carpeta con la última entrada de ese listado en una carpeta. Es eso posible?

Deja una respuesta

Los campos requeridos estan marcados con *.