[VBA] Creación de carpeta MkDir

Resuelto
Palteza Mensajes publicados 82 Estado Miembro -  
Palteza Mensajes publicados 82 Estado Miembro -
Hola los que funcionan,

Estoy creando una carpeta, con el método MkDir, si no existe. El problema, menor, es ... que no se crea ^^

Aquí está el fragmento de código:

CheminSource = Left(Workbooks("ExtractionTest.xls").FullName, InStr(Workbooks("ExtractionTest.xls").FullName, "ExtractionTest.xls") - 1) Año = 2006 If Dir(CheminSource & Año & "\Données_Découpages", 16) = "" Then MkDir (CheminSource & Año & "\Données_Découpages")

Recibo con CheminSource algo como: C\Documents....\..\..\ y todo debería encadenarse, pero no.

La cosa es que cuando elimino Año, funciona muy bien. He intentado con Año como Integer y String, pero no es eso.

Me devuelve un error de ejecución 76, ruta no encontrada en:
MkDir (CheminSource & Año & "\Données_Découpages")


Gracias de antemano.

6 respuestas

Bidouilleu_R Mensajes publicados 1209 Estado Miembro 296
 
tu código es correcto a excepción de esto
no dices si la carpeta 'Año' ya está creada...

no tienes derecho a crear una subcarpeta para una carpeta inexistente.
hay que proceder en 2 tiempos, carpeta primero y luego subcarpeta
Sub test() CheminSource = Left(Workbooks("ExtractionTest.xls").FullName, InStr(Workbooks("ExtractionTest.xls").FullName, "ExtractionTest.xls") - 1) Annee = 2006 If Dir(CheminSource & Annee, 16) = "" Then MkDir (CheminSource & Annee) End If If Dir(CheminSource & Annee & "\Données_Découpages", 16) = "" Then MkDir (CheminSource & Annee & "\" & "Données_Découpages") End If End Sub
5