Mensaje para crear un directorio.

18/03/2009 - 00:33 por Gescobar | Informe spam
Hola,

Cuando guardo un libro en una carpeta que aun no he creado me aparece un
mensaje que si deseo crear la carpeta. Hay alguna manera de llamar a esta
funcion desde VBA? O alguna manera de hacerlo manualmente con mkdir u otra
funcion.

Saludos
 

Leer las respuestas

#1 Gescobar
02/04/2009 - 20:48 | Informe spam
De lujo¡¡¡

Gracias Hector

"Héctor Miguel" wrote:

hola, !

> Cuando guardo un libro en una carpeta que aun no he creado me aparece un mensaje que si deseo crear la carpeta.
> Hay alguna manera de llamar a esta funcion desde VBA? O alguna manera de hacerlo manualmente con mkdir u otra funcion.

1) revisa en la ayuda de vba acerca de las instrucciones: MkDir, RmDir, Kill
2) toma las debidas precauciones para que los nombres NO contengan caracteres 'no validos'
3) habra que 'validar' si algunos directorios 'ya existieran' [suponiendo que el codigo sea 'repetible']
4) revisa el siguiente enlace: http://tinyurl.com/5ords
5) o prueba con una macro (cortesia de KL) que transcribo al final del presente

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

=> Este macro lo hice en base a un codigo de J.Walkenbach para una consulta parecida:

Sub test()
Dim Ruta As String, Directorios, i As Long, x As String
Ruta = "c:\temp\prueba\carpeta\test"
On Error Resume Next
x = GetAttr(Ruta) And 0
If Err.Number <> 0 Then
Respuesta = MsgBox( _
"La carpeta no existe. Desea crearla?", _
vbExclamation + vbOKCancel)
If Respuesta = vbCancel Then Exit Sub
On Error GoTo 0
Directorios = Split(Ruta, "\"): Ruta = ""
For i = LBound(Directorios) To UBound(Directorios)
Ruta = Ruta & Directorios(i) & "\"
On Error Resume Next
x = GetAttr(Ruta) And 0
If Err.Number <> 0 Then MkDir Ruta
On Error GoTo 0
Next i
End If
End Sub

Saludos,
KL



Preguntas similares