Excel - CREAR CARPETA

 
Vista:

CREAR CARPETA

Publicado por guihe (40 intervenciones) el 20/11/2008 14:47:46
Hola a todos,
¿se puede crear una carpeta desde VBA? el caso es que el código de abajo crea unos archivos *.scr para Autocad en la carpeta definida como 'ruta'. Y para organizarme un poco pensaba si se podría crear una carpeta en plan:

archivo = ruta &(carpeta nueva) "Ploncha" & precis & ".scr"

GRACIAS
PD: espero haberme explicado bien, porque siempre lo hago fatal.... ;)

Dim nua
ruta = ThisWorkbook.Path
nua = FreeFile
archivo = ruta & "Ploncha" & precis & ".scr"
Open archivo For Output As #nua
For h = 2 To ultcapa
capa = Cells(h, 13).Value 'asigna a la variable 'capa' el valor de la cota (columna M)
Print #nua, "-capa"
Print #nua, "e"
Print #nua, "capa-" & capa * 100
Print #nua, " "
nsplines = Cells(h, 14).Value
inifila = Cells(h, 15).Value
finfila = Cells(h, 16).Value
For i = inifila To finfila
Print #nua, "_spline"
Print #nua, Cells(i, 3).Value & "," & Cells(i, 4).Value & "," & Cells(i, 2).Value
Print #nua, Cells(i, 5).Value & "," & Cells(i, 6).Value & "," & Cells(i, 2).Value
Print #nua, Cells(i, 7).Value & "," & Cells(i, 8).Value & "," & Cells(i, 2).Value
Print #nua, Cells(i, 9).Value & "," & Cells(i, 10).Value & "," & Cells(i, 2).Value
Print #nua, "c"
Print #nua, "0"
Next i
Next h
Close #nua
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

RE:CREAR CARPETA

Publicado por JuanC (1237 intervenciones) el 20/11/2008 17:46:29
Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type

Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpPathName As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long

Sub test()
Dim t As SECURITY_ATTRIBUTES
CreateDirectory "c: mp", t
End Sub

'Otra forma
'Dim F As Scripting.FileSystemObject
'Set F = New Scripting.FileSystemObject
'F.CreateFolder "C: mp"

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de guihe

RE:CREAR CARPETA

Publicado por guihe (38 intervenciones) el 28/10/2009 15:44:08
Hola JuanC
La segunda manera de crear las carpetas si me sirvió, pero ahora queria programar una macro que crease varias carpetas, el caso es que una vez creada la primera no crea más y supongo que habrá que 'resetear' la variable 'fs' o 'f' de mi codigo. Te lo pongo a continuacion para que te hagas una idea
muchas gracias de antemano.
guihe

********************
Sub ELIPSES()
ruta = ThisWorkbook.Path
nua = FreeFile
'ultfila = Range("A65536").End(xlUp).Row
ultfila = 102
For p = 1 To ultfila - 20 Step 20

parcela = Cells(p + 1, 3).Value
Debug.Print parcela, p + 1

'crea una carpeta donde guardar los SCR's
Set fs = CreateObject("Scripting.FileSystemObject")
On Error GoTo nohaycarpeta
Set f = fs.getfolder(ruta & "\P_" & parcela)
nohaycarpeta:
If f = "" Then
Set f = fs.createfolder(ruta & "\P_" & parcela)
End If
Resume Next
archivo = f & "\P_" & parcela & ".scr"
Open archivo For Output As #nua
For a = 0 To 19
coordX = Cells(p + a + 1, 15).Value
coordY = Cells(p + a + 1, 16).Value
radio1 = Cells(p + a + 1, 11).Value / 2
radio2 = Cells(p + a + 1, 12).Value / 2
rumbo = Cells(p + a + 1, 6).Value
Print #nua, "-capa"
Print #nua, "e"
Print #nua, "capa-" & a + 1
Print #nua, "_ellipse"
Print #nua, "c"
Print #nua, coordX & "," & coordY
Print #nua, "@" & radio1 & "<" & rumbo
Print #nua, "@" & radio2 & "<" & rumbo + 90
Next a
a = 0
Next p

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar